簡體   English   中英

TableLayout onClickListener:獲取行/列

[英]TableLayout onClickListener : get Row/Column

我選擇使用TableLayout繪制產品類別。

數據是動態獲取和呈現的。 我將TableRow和ImageView都添加到其中。

每個TableRow有3個項目時,如何處理onClickListener

我無法更改使用的布局,因此我正在尋找當前情況下的解決方案

確定,當您創建動態行時,使用for循環:執行以下操作:

  1. 使用增量變量對表行的每個子元素使用setTag()setTag(key, tag)

  2. setonclick偵聽器,用於for循環本身內的每個子元素[注意: for循環內 ]

  3. 在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM