2016-05-04 59 views
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(); 
       } 
      }); 
     } 

    }); 
+0

你可能想看看這個博客,我寫你的源代碼:http://blog.antrromet.com /2013/07/handling-clicks-within-list-items-in.html – Antrromet

+0

您確定您膨脹的視圖是在佈局中顯示的視圖嗎?,因爲我沒有看到它添加到佈局 –

+0

list_item.xml設置LinearLayout的佈局。然後我使用適配器在activity_main.xml中定義的ListView中顯示佈局。我在給list_item充氣,因爲我在裏面定義了按鈕。 –

回答

0

LIST_ITEM應該由主視圖中添加,檢查一下

相關問題