Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ListView未在下一位置保存项目,继续替换_Java_Android_Android Studio - Fatal编程技术网

Java ListView未在下一位置保存项目,继续替换

Java ListView未在下一位置保存项目,继续替换,java,android,android-studio,Java,Android,Android Studio,我正在创建一个简单的“便笺”应用程序,但当用户尝试保存新便笺时,它会替换当前便笺。请帮助我,告诉我问题出在哪里 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sharedPreferences = this.getSharedPrefer

我正在创建一个简单的“便笺”应用程序,但当用户尝试保存新便笺时,它会替换当前便笺。请帮助我,告诉我问题出在哪里

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    sharedPreferences = this.getSharedPreferences("com.sibi.notes",Context.MODE_PRIVATE);
    listView = findViewById(R.id.listView);

    list = new ArrayList<String>();

    list.add("");

    list.add("Add a new note");

    adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);

    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            long addNote = listView.getItemIdAtPosition(1);

            if (id == addNote){
                intent = new Intent(getApplicationContext(), SecondActivity.class);
                startActivity(intent);
            }
        }
     });
     String text = sharedPreferences.getString("Note","");

     if(text != ""){
       list.add(text);
     }

}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedReferences=this.getSharedReferences(“com.sibi.notes”,Context.MODE\u PRIVATE);
listView=findViewById(R.id.listView);
列表=新的ArrayList();
列表。添加(“”);
列表。添加(“添加新注释”);
adapter=newarrayadapter(这是android.R.layout.simple\u list\u item\u 1,list);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
long addNote=listView.getItemIdAtPosition(1);
if(id==addNote){
intent=newintent(getApplicationContext(),SecondActivity.class);
星触觉(意向);
}
}
});
String text=SharedReferences.getString(“注意”,“注意”);
如果(文本!=“”){
列表。添加(文本);
}
}

更改适配器的数据时,请使用adapter.notifyDatasetchanged()或adapter.notifyItemInserted(位置)或adapter.notifyItemRemoved(位置)或。。。或notifyAll()(在活动中)。如果您的数据量很大,请根据您的操作使用notifyItemXX。如果这不是您的解决方案,您可以再次使用更改的数据设置适配器(此处是您的更改列表)

请清除您的问题,当您在列表中添加注释时,只需调用adapter.notifydatasetchange()更新列表。在添加新注释的位置发布完整代码。