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