Java 如何为listview创建“添加和删除”按钮,以便用户下次打开应用程序时添加的项保持在该按钮上?
我需要一个关于如何创建一个添加按钮来添加listview项目,以及一个删除按钮来删除最后添加的项目的答案。看看我的代码。我制作了一个添加按钮,但该项目只存在几秒钟,每次我关闭该页面(转到用户模式下的其他活动)时,它都会被删除。请让我知道如何修复此代码以及如何为“删除”按钮编写代码。我需要知道如何删除上次制作的项目。提前谢谢你的帮助。我期待着答复Java 如何为listview创建“添加和删除”按钮,以便用户下次打开应用程序时添加的项保持在该按钮上?,java,android,listview,Java,Android,Listview,我需要一个关于如何创建一个添加按钮来添加listview项目,以及一个删除按钮来删除最后添加的项目的答案。看看我的代码。我制作了一个添加按钮,但该项目只存在几秒钟,每次我关闭该页面(转到用户模式下的其他活动)时,它都会被删除。请让我知道如何修复此代码以及如何为“删除”按钮编写代码。我需要知道如何删除上次制作的项目。提前谢谢你的帮助。我期待着答复 public class dodaj extends Activity { ListView lv; SearchView sv;
public class dodaj extends Activity {
ListView lv;
SearchView sv;
EditText txtinput;
ArrayList<String> arrayList;
String[] recepies={};
ArrayAdapter<String> adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dodaj);
registerClickCallback();
lv=(ListView) findViewById(R.id.listView);
sv=(SearchView) findViewById(R.id.searchView);
txtinput=(EditText)findViewById(R.id.txtinput);
Button addbutton=(Button)findViewById(R.id.addbutton);
Button buttondel=(Button) findViewById(R.id.buttondel);
arrayList= new ArrayList<>(Arrays.asList(recepies));
addbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick( View v ) {
String newItem=txtinput.getText().toString();
arrayList.add(newItem);
adapter.notifyDataSetChanged();
}
});
buttondel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick( View v ) {
int i = arrayList.size()-1;
arrayList.remove(arrayList.get(i));
}
});
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,arrayList);
lv.setAdapter(adapter);
sv.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String text) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onQueryTextChange(String text) {
adapter.getFilter().filter(text);
return false;
}
});
}
private void registerClickCallback(){
lv=(ListView) findViewById(R.id.listView);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View viewClicked, int position, long id) {
TextView textView= (TextView) viewClicked;
if(position==0){
goToMojRecept1();
}else if(position==1){
goToMojRecept2();
}else if(position==2){
goToMojRecept3();
}else if(position==3){
goToMojRecept4();
}else if(position==4) {
goToMojRecept5();
}
}
});
}
private void goToMojRecept5() {
Intent intent = new Intent(this, MojRecept5.class);
startActivity(intent);
}
private void goToMojRecept4() {
Intent intent = new Intent(this, MojRecept4.class);
startActivity(intent);
}
private void goToMojRecept3() {
Intent intent = new Intent(this, MojRecept3.class);
startActivity(intent);
}
private void goToMojRecept2() {
Intent intent = new Intent(this, MojRecept2.class);
startActivity(intent);
}
private void goToMojRecept1() {
Intent intent = new Intent(this, MojRecept1.class);
startActivity(intent);
}
公共类dodaj扩展活动{
ListView lv;
SearchView sv;
编辑文本输入;
ArrayList ArrayList;
字符串[]recepies={};
阵列适配器;
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dodaj);
registerClickCallback();
lv=(ListView)findViewById(R.id.ListView);
sv=(SearchView)findviewbyd(R.id.SearchView);
txtinput=(EditText)findViewById(R.id.txtinput);
Button addbutton=(Button)findViewById(R.id.addbutton);
Button buttondel=(Button)findViewById(R.id.buttondel);
arrayList=新的arrayList(Arrays.asList(recepies));
addbutton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串newItem=txtinput.getText().toString();
arrayList.add(newItem);
adapter.notifyDataSetChanged();
}
});
buttondel.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
int i=arrayList.size()-1;
arrayList.remove(arrayList.get(i));
}
});
adapter=newarrayadapter(这是android.R.layout.simple\u list\u item\u 1,arrayList);
低压设置适配器(适配器);
sv.setOnQueryTextListener(新的OnQueryTextListener(){
@凌驾
公共布尔值onQueryTextSubmit(字符串文本){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔值onQueryTextChange(字符串文本){
adapter.getFilter().filter(文本);
返回false;
}
});
}
私有无效注册表ClickCallback(){
lv=(ListView)findViewById(R.id.ListView);
lv.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图已单击、整型位置、长id){
TextView TextView=(TextView)视图已单击;
如果(位置==0){
goToMojRecept1();
}否则如果(位置==1){
goToMojRecept2();
}否则如果(位置==2){
goToMojRecept3();
}否则如果(位置==3){
goToMojRecept4();
}否则如果(位置==4){
goToMojRecept5();
}
}
});
}
私有void goToMojRecept5(){
意向意向=新意向(此,MojRecept5.class);
星触觉(意向);
}
私有void goToMojRecept4(){
Intent Intent=新的Intent(this,MojRecept4.class);
星触觉(意向);
}
私有void goToMojRecept3(){
Intent Intent=新的Intent(this,MojRecept3.class);
星触觉(意向);
}
私有void goToMojRecept2(){
Intent Intent=新Intent(this,MojRecept2.class);
星触觉(意向);
}
私有void goToMojRecept1(){
Intent Intent=新Intent(this,MojRecept1.class);
星触觉(意向);
}
可能需要将添加的按钮存储在数据库中(例如sqlite),并在应用程序需要时以编程方式加载它们。因此:arrayList=new arrayList(Arrays.asList(recepies));
可能需要持久存储可能需要将添加的按钮存储在数据库中(例如sqlite)并在应用程序需要时以编程方式加载它们。因此:arrayList=newarraylist(Arrays.asList(recepies));
。您需要持久存储