2013-05-16 20 views
1

我是Android開發新手,我正在嘗試處理點擊物品網格。什麼是最好的方式來做到這一點?到目前爲止,我有這樣的事情來設置onclicklistener如何以邏輯方式識別物品?

TableLayout layout = (TableLayout) findViewById(R.id.tableLayout1); 
    for (int i = 0; i < layout.getChildCount(); i++) { 
     View v = layout.getChildAt(i); 
     if (v instanceof TableRow) { 
      for (int j = 0; j < ((TableRow)v).getChildCount(); j++) { 
       View v2 = ((TableRow)v).getChildAt(j); 
       v2.setOnClickListener(this); 
      } 
     } 
    } 

現在我想處理包含在表格中的項目的點擊次數。由於有很多項目我想避免寫一個長的「開關」。這些項目具有包含行和列的編號的邏輯ID。有沒有辦法獲得被點擊的項目的實際ID(XML中的ID)然後解析它?如果不是,那麼解決方案是什麼。

謝謝

+0

'View.setTag(Object o)'也許? –

+0

@MarekSebera謝謝,我認爲這樣做:-) http://stackoverflow.com/questions/5291726/what-is-the-main-purpose-of-settag-gettag-methods-of-view –

回答

0

您有幾個選項。您可以設置onClickListener在線:

v2.setOnClickListener(new OnClickListener() { 
    public void onClick (View viewClicked) { 
     Log.d("View row: " + i + ", column: " + j); 
     // or something else 
    } 
}); 

或者你可以使用View.setTag(),這將讓你鍵值對存儲視圖,類似的地圖。

+0

我用setTag方法。謝謝。 –