Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.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_Listview - Fatal编程技术网

Java 如何为listview创建“添加和删除”按钮,以便用户下次打开应用程序时添加的项保持在该按钮上?

Java 如何为listview创建“添加和删除”按钮,以便用户下次打开应用程序时添加的项保持在该按钮上?,java,android,listview,Java,Android,Listview,我需要一个关于如何创建一个添加按钮来添加listview项目,以及一个删除按钮来删除最后添加的项目的答案。看看我的代码。我制作了一个添加按钮,但该项目只存在几秒钟,每次我关闭该页面(转到用户模式下的其他活动)时,它都会被删除。请让我知道如何修复此代码以及如何为“删除”按钮编写代码。我需要知道如何删除上次制作的项目。提前谢谢你的帮助。我期待着答复 public class dodaj extends Activity { ListView lv; SearchView sv;

我需要一个关于如何创建一个添加按钮来添加listview项目,以及一个删除按钮来删除最后添加的项目的答案。看看我的代码。我制作了一个添加按钮,但该项目只存在几秒钟,每次我关闭该页面(转到用户模式下的其他活动)时,它都会被删除。请让我知道如何修复此代码以及如何为“删除”按钮编写代码。我需要知道如何删除上次制作的项目。提前谢谢你的帮助。我期待着答复

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));
。您需要持久存储