我的XML布局如下所示:
[....textedit....][addbutton]
=======list1=========
=======list2=========
=======list3=========
=======list4=========
如果我想加载和显示从共享首选项创建的列表,能够添加“项目”到列表,并保存到共享首选项,该怎么办?欢迎任何额外的简单初学者解释,因为我是一个完全的新手。
我下面的代码是一个大混乱,我得到了它100%从缝合从一个例子到另一个例子,我从任何地方。
package com.mycompany.myapp;
import android.app.*;
import android.os.*;
import android.widget.EditText;
import android.widget.Button;
import android.widget.ListView;
import android.widget.ListAdapter;
import android.widget.ArrayAdapter;
import android.widget.AdapterView;
import android.widget.Toast;
import android.view.View;
import android.content.SharedPreferences;
import android.content.Context;
public class MainActivity extends Activity {
String FileName = "myFile";
Button BtnSave;
EditText editName;
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
BtnSave = findViewById(R.id.btn1);
BtnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveFile();
}
});
lv = (ListView) findViewById(R.id.list1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,empty);
lv.setAdapter(adapter);
//Setting onClickListener on ListView
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(),"Item Clicked: "+i,Toast.LENGTH_SHORT).show();
}
});
editName = findViewById(R.id.edit1);
}
private void saveFile() {
String strName = editName.getText().toString();
SharedPreferences sharedPref = getSharedPreferences(FileName,Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("name", strName);
editor.commit();
Toast.makeText(this,"Data Saved Successfully",Toast.LENGTH_SHORT).show();
}
}
2条答案
按热度按时间8fq7wneg1#
我想这个应该对你有帮助。
ocebsuys2#
好吧,那么你需要:1)在EditText中输入一些单词2)在ListView中显示它3)将它保存到首选项中对吗?
我想你必须做好下一步工作:
1.创建
private ArrayList<String> list = new ArrayList();
1.当您在EditText中输入内容并单击按钮时,调用
list.add(editName.getText.toString());
,然后调用saveFile并保存list.toString();
1.当需要加载文件时,创建函数
1.在适配器中加载您newList