0
我想訪問在MainActivity中單獨的xml佈局中定義的按鈕,並在按鈕上執行onClick等操作。我在MainActivity中使用瞭如下所示的LayoutInflater,但onClick方法未檢測到被單擊的按鈕。該按鈕在LinearLayout內部定義,通過自定義適配器顯示在自定義ListView中。我可以在膨脹LinearLayout(xml文件)的類中設置onClick方法,但是如果在檢測到按鈕單擊後我如何在MainActivity中執行操作?Android - 從MainActivity訪問在另一個佈局中定義的按鈕
我可以檢測MainActivity內部的按鈕點擊嗎?還是必須通過Intent在包含按鈕和MainActivity的LinearLayout之間創建通信?請告訴我一些可能的做法。
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的佈局。然後我使用適配器在activity_main.xml中定義的ListView中顯示佈局。我在給list_item充氣,因爲我在裏面定義了按鈕。 –