Android 使用“删除”按钮从Listview中删除项目

Android 使用“删除”按钮从Listview中删除项目,android,Android,我得到一个空指针,因为我的程序当前所在的视图是主活动,但主活动是一个包含expense\u entry.xml视图的listview。每个条目都有3个文本视图和一个删除按钮。这是我在主要活动中的onCreate。问题是我何时执行findViewById(deleteButton)。。。如果有25个按钮,它如何知道它指的是哪个按钮?这就是我得到空指针的原因 public void onCreate(Bundle savedInstanceState) { super.onCreat

我得到一个空指针,因为我的程序当前所在的视图是主活动,但主活动是一个包含expense\u entry.xml视图的listview。每个条目都有3个文本视图和一个删除按钮。这是我在主要活动中的onCreate。问题是我何时执行findViewById(deleteButton)。。。如果有25个按钮,它如何知道它指的是哪个按钮?这就是我得到空指针的原因

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView) findViewById(R.id.viewlist);
        dbHelper = new RecordsDbAdapter(this);
        dbHelper.open();
        //Add some data
//        dbHelper.insertSomeRecords();
        //Generate ListView from SQLite Database
        displayListView();
//        setContentView(R.layout.expense_entry);
            Button deleteBtn = (Button) this.findViewById(R.id.btn_delete);
            deleteBtn.setOnClickListener(new Button.OnClickListener(){

                @Override
                public void onClick(View v) {
                    //do something
                    ViewGroup parent = (ViewGroup) v.getParent();
//                    final ConstraintLayout c = this;
                    for (int itemPos = 0; itemPos < parent.getChildCount(); itemPos++) {
                        View view = parent.getChildAt(2);
                        if (view.getParent() == parent) {
                            dbHelper.deleteSingleRow(String.valueOf(view.findViewById(R.id.textViewDateTime)));
                            dataAdapter.notifyDataSetChanged();
                        }
                    }}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView)findViewById(R.id.viewlist);
dbHelper=新记录dbadapter(此);
dbHelper.open();
//添加一些数据
//dbHelper.insertSomeRecords();
//从SQLite数据库生成ListView
displayListView();
//setContentView(R.layout.expense\u条目);
按钮deleteBtn=(按钮)this.findviewbyd(R.id.btn\u delete);
deleteBtn.setOnClickListener(新建按钮.OnClickListener(){
@凌驾
公共void onClick(视图v){
//做点什么
ViewGroup parent=(ViewGroup)v.getParent();
//最终约束tLayout c=此;
对于(int-itemPos=0;itemPos

处理listview适配器类中的删除按钮功能并调用notifydatasetchanged()

处理listview适配器类中的删除按钮功能并调用notifydatasetchanged()