Java ListView将刷新已存在的项目并赢得';不要添加新的

Java ListView将刷新已存在的项目并赢得';不要添加新的,java,android,class,listview,methods,Java,Android,Class,Listview,Methods,我正在尝试制作一个待办事项列表应用程序,我在其中输入任务的EditText字段。当我按下“添加”浮动操作按钮时,第一个任务会完美地进入listview,但当我尝试添加第二个任务时,它会将第一个任务更改为第二个任务,依此类推。所以问题是我一次只能有一个任务,但我想要的是一个任务列表 这是我的onCreate方法,我在其中声明浮动操作按钮并为其设置OnClickListener: DBHelper dbHelper; ArrayAdapter<String> mAdapter; List

我正在尝试制作一个待办事项列表应用程序,我在其中输入任务的EditText字段。当我按下“添加”浮动操作按钮时,第一个任务会完美地进入listview,但当我尝试添加第二个任务时,它会将第一个任务更改为第二个任务,依此类推。所以问题是我一次只能有一个任务,但我想要的是一个任务列表

这是我的onCreate方法,我在其中声明浮动操作按钮并为其设置OnClickListener:

DBHelper dbHelper;
ArrayAdapter<String> mAdapter;
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_menu);
    // Finds you button from the xml layout file
    FloatingActionButton faButton = (FloatingActionButton) findViewById(R.id.fab);

    // Waits for you to click the button
    faButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // Starts the function below
            addNotification();
            listView.setAdapter(mAdapter);
            addToDoElement(null);
        }
    });
    listView = (ListView)findViewById(R.id.lstTask);
}
DBHelper-DBHelper;
ArrayAdapter mAdapter;
列表视图列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u主菜单);
//从xml布局文件中查找按钮
FloatingActionButton faButton=(FloatingActionButton)findViewById(R.id.fab);
//等待您单击按钮
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
//启动下面的函数
添加通知();
setAdapter(mAdapter);
addToDoElement(空);
}
});
listView=(listView)findViewById(R.id.lstTask);
}
这是将任务从EditText添加到ListView的方法

ArrayList<String> taskList;
public void addToDoElement(View view) {
    listView = (ListView) findViewById(R.id.lstTask);
    taskList = new ArrayList<>();
    mAdapter = new ArrayAdapter<String>(this, R.layout.row, R.id.task_title, taskList);

    listView.setAdapter(mAdapter);


    //Gets TASK text from EditText
    EditText mEdit   = (EditText)findViewById(R.id.titlu);
    Log.v("EditText", mEdit.getText().toString());

    taskList.add(mEdit.getText().toString());
    mEdit.setText("");
    mAdapter.notifyDataSetChanged();

}
ArrayList任务列表;
公共void addToDoElement(视图){
listView=(listView)findViewById(R.id.lstTask);
taskList=newarraylist();
mAdapter=newarrayadapter(这个,R.layout.row,R.id.task_title,taskList);
setAdapter(mAdapter);
//从EditText获取任务文本
EditText mEdit=(EditText)findviewbyd(R.id.titlu);
Log.v(“EditText”,mEdit.getText().toString());
添加(mEdit.getText().toString());
mEdit.setText(“”);
mAdapter.notifyDataSetChanged();
}

onCreate
方法中,初始化
任务列表和
mAdapter
的部分只需执行一次。所以移动这个街区

listView = (ListView) findViewById(R.id.lstTask);
taskList = new ArrayList<>();
mAdapter = new ArrayAdapter<String>(this, R.layout.row, R.id.task_title, taskList);
listView.setAdapter(mAdapter);
listView=(listView)findViewById(R.id.lstTask);
taskList=newarraylist();
mAdapter=newarrayadapter(这个,R.layout.row,R.id.task_title,taskList);
setAdapter(mAdapter);
在您的
onCreate
方法中。您当前的代码是在每次单击事件时重置适配器和任务列表