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();
}
});
}
});
それについてのあなたのソースコードをチェックします。http://blog.antrromet.comを/2013/07/handling-clicks-within-list-items-in.html – Antrromet
あなたが膨らませたビューはレイアウトに表示されているのですか? –
list_item.xmlは、LinearLayoutのレイアウトを設定します。次に、adapterを使用して、activity_main.xmlで定義されたListViewのレイアウトを表示します。私はそれの中にボタンを定義したので、私はlist_itemを膨らませています。 –