2016-05-04 6 views
0

MainActivityから別のxmlレイアウトで定義されたボタンにアクセスし、ボタンのonClickのようなことをしたい。 MainActivityで以下のようにLayoutInflaterを使用しましたが、onClickメソッドはクリックされたボタンを検出しません。このボタンはLinearLayoutの内部で定義され、カスタムのListViewにカスタムアダプタで表示されます。私は、LinearLayout(XMLファイル)を膨らませるクラスの中でonClickメソッドを設定できますが、ボタンクリックを検出した後、MainActivityでどのようにしたらいいですか?Android - MainActivityから別のレイアウトで定義されたボタンにアクセスする

MainActivityでボタンのクリックを検出できますか?または、ボタンを含むLinearLayoutと、MainActivityを介してIntentを使用して通信する必要がありますか?これを行う方法のいくつかを教えてください。

MainActivity:

LayoutInflater inflater = this.getLayoutInflater(); 
LinearLayout list_item = (LinearLayout)inflater.inflate(R.layout.list_item, null); 
Button deleteBtn = (Button)list_item.findViewById(R.id.deleteBtn); 
deleteBtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Log.d(TAG, "delete button clicked"); 

      statusList.setOnDataSelectionListener(new OnDataSelectionListener() { 
       @Override 
       public void onDataSelected(AdapterView parent, View v, int position, long id) { 
        Log.d(TAG, "delete button clicked inside onDataselected"); 

        DeleteStatusThread thread = new MainActivity.DeleteStatusThread(id); 
        thread.start(); 
       } 
      }); 
     } 

    }); 
+0

それについてのあなたのソースコードをチェックします。http://blog.antrromet.comを/2013/07/handling-clicks-within-list-items-in.html – Antrromet

+0

あなたが膨らませたビューはレイアウトに表示されているのですか? –

+0

list_item.xmlは、LinearLayoutのレイアウトを設定します。次に、adapterを使用して、activity_main.xmlで定義されたListViewのレイアウトを表示します。私はそれの中にボタンを定義したので、私はlist_itemを膨らませています。 –

答えて

0

list_itemがメインビューで追加する必要があり、あなたは私が書いたこのブログをチェックアウトしたいかもしれません