[英]TableLayout onClickListener : get Row/Column
我選擇使用TableLayout繪制產品類別。
數據是動態獲取和呈現的。 我將TableRow和ImageView都添加到其中。
每個TableRow有3個項目時,如何處理onClickListener
?
我無法更改使用的布局,因此我正在尋找當前情況下的解決方案
確定,當您創建動態行時,使用for循環:執行以下操作:
使用增量變量對表行的每個子元素使用setTag()
或setTag(key, tag)
setonclick偵聽器,用於for循環本身內的每個子元素[注意: for循環內 ]
在onclicklisteners的onclick(View v)
中,您可以通過使用v.getTag()
[將標記轉換為所需的數據類型]來檢索單擊的視圖來檢測單個單擊。
膨脹后的布局在XML中必須看起來像這樣:
<TableRow android:id="@+id/somerow">
<TextView android:id="@+id/row_item1" android:duplicateParentState="true" .... />
<TextView android:id="@+id/row1_item2" android:duplicateParentState="true" .... />
<TextView android:id="@+id/row1_item3" android:duplicateParentState="true" .... />
</TableRow>
因此,在Java代碼中,應在填充行之后直接執行以下操作:
// there is some var tableRow of type TableRow
TextView myTextView = new TextView(......);
myTextView.setOnClickListener(myOnClickListener); // this is the important part
myTableRow.addView(myTextView);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.