栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ListView实现添加和编辑功能

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ListView实现添加和编辑功能

目录

基于ListView的用法项目更改

一、添加一个按钮用于实现跳转

二、新建一个活动用于添加或编辑内容

三、创建添加事件

四、创建编辑事件

一、添加按钮

在activity_main中添加一个按钮用于活动跳转




    

    


二、新建一个活动

右击 com.example.listview ---- new ---- Activity ---- Empty Activity

取名为 activity_new_redact

在新建的活动布局文件中添加文本框和按钮




    

    

    

        

三、创建添加事件

首先在 activity_new_redact 中获取参数

public class activity_new_redact extends AppCompatActivity {
Intent intent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new_redact);
        EditText et_redact_name = findViewById(R.id.ET_redact_name);
        EditText et_redact_introduce = findViewById(R.id.ET_redact_introduce);
        Button btn_redact_add = findViewById(R.id.redact_add);
        Button btn_redact_cancel =findViewById(R.id.redact_cancel);
        intent = getIntent();
        String name=intent.getStringExtra("name");
        String introduce = intent.getStringExtra("introduce");
        et_redact_name.setText(name);
        et_redact_introduce.setText(introduce);
        btn_redact_add.setonClickListener(new View.onClickListener() {
            @Override
            public void onClick(View view) {
                intent.putExtra("name",et_redact_name.getText().toString());
                intent.putExtra("introduce",et_redact_introduce.getText().toString());
                setResult(RESULT_OK,intent);
                finish();
            }
        });
}

 然后在Main Activity 中修改单击事件

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initCat();
        adapter = new CatAdapter(MainActivity.this, R.layout.content_view, CatList);
        ListView listView = (ListView) findViewById(R.id.list_view);
        listView.setAdapter(adapter);
        listView.setonItemClickListener(new AdapterView.onItemClickListener() {
            @Override
            public void onItemClick(AdapterView adapterView, View view, int i, long id) {
                Cat cat = CatList.get(i);
                catposition=i;
                String name = cat.getName();
                String introduce = cat.getText();
                Intent intent = new Intent(MainActivity.this, activity_new_redact.class);
                intent.putExtra("name",name);
                intent.putExtra("introduce",introduce);
                startActivityForResult(intent, 2);

            }
        });
}

最后在重写一个 onActivityResult 来判断控件传回来的参数

 @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case 1:
                if (resultCode == RESULT_OK) {
                    String name = data.getStringExtra("name");
                    String introduce = data.getStringExtra("introduce");
                    if (name.equals("") || introduce.equals(""))
                        return;
                    else {
                        Cat cat = new Cat(name, introduce, R.drawable.cat_f_pic);
                        CatList.add(cat);
                        adapter.notifyDataSetChanged();
                    }

                }
                break;
}

四、添加编辑事件

在 Main Activity 中添加判断

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case 1:
                if (resultCode == RESULT_OK) {
                    String name = data.getStringExtra("name");
                    String introduce = data.getStringExtra("introduce");
                    if (name.equals("") || introduce.equals(""))
                        return;
                    else {
                        Cat cat = new Cat(name, introduce, R.drawable.cat_f_pic);
                        CatList.add(cat);
                        adapter.notifyDataSetChanged();
                    }

                }
                break;

            case 2:
                if (resultCode == RESULT_OK) {
                    String name = data.getStringExtra("name");
                    String introduce = data.getStringExtra("introduce");
                    if (name.equals("") || introduce.equals(""))
                        return;
                    else {
                        Cat cat = new Cat(name,introduce,CatList.get(catposition).getId());
                        CatList.set(catposition,cat);

                        adapter.notifyDataSetChanged();
                    }
                }
                break;
        }
    }
五、为返回按钮添加事件

在 activity_new_redact 中添加

        btn_redact_cancel.setonClickListener(new View.onClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/351562.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号