2017-11-22 26 views
1

私のプログラムが現在表示されているビューがメインアクティビティですが、主なアクティビティはexpense_entry.xmlのビューを含むリストビューです。各エントリには、3つのテキストビューと削除ボタンがあります。これは主な活動の中で私が作成したものです。質問は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(); 
         } 
        }} 

Main activity.xml entry.xml

答えて

0

あなたのリストビューのアダプタクラスでの削除ボタンの機能を処理し、(notifydatasetchanged呼び出し)

関連する問題