我正在尝试创建一个"待办事项列表",我已经完成了所有的事情,除了保存数据。我是相当新的,不知道是否有人可以告诉我如何完成内部保存数据。
下面是我的代码:
Main_ToDoList.java
public class Main_ToDoList extends Activity implements OnClickListener
{
private Button btnAdd;
private EditText et;
private ListView lv;
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
final Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
btnAdd = (Button)findViewById(R.id.addTaskBtn);
btnAdd.setOnClickListener(this);
et = (EditText)findViewById(R.id.editText);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);
// set the lv variable to your list in the xml
lv=(ListView)findViewById(R.id.list);
lv.setAdapter(adapter);
// set ListView item listener
lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id)
{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("Confirm Delete");
alertDialogBuilder.setMessage("Sure you want to delete?");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
adapter.remove(adapter.getItem(position));
}
});
alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
dialogInterface.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
});
}
public void onClick(View v)
{
String input = et.getText().toString();
if(input.length() > 0)
{
adapter.add(input);
et.setText("");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main__to_do_list, menu);
return true;
}
}
如何保存输入的数据?谢谢!
3条答案
按热度按时间aydmsdu91#
您有3种方法可以做到这一点:共享首选项文件数据库
如果你想存储大量的数据而不是使用数据库,如果你想存储比如说10- 30个任务,你可以使用共享首选项,这是最快的方法。
在任何情况下,如果你熟悉写/阅读文件,这也将是很好的路径,但可能需要更多的工作。
6jygbczu2#
可以创建一个DatabaseHandler类
}
然后在要保存数据的活动中
希望这对你或其他人有帮助。
tuwxkamq3#
我有一些类似的东西,我想存储少量的数据,但不想使用内容提供商或文件,所以我使用SharePreferences.(ps我在密钥的末尾使用随机数只是为了使其唯一,但用户后来从列表中选择了它,所以我知道的值然后)