[英]Unable to get row id of dynamically added rows in table layout of android
這是我的代碼,用於動態添加表行,
for (int j = 0; j < list.size(); j++) {
TableRow tableRow = new TableRow(getActivity());
table_layout.addView(tableRow);
tableRow.setLayoutParams(new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT));
tableRow.setId(j);
tableRow.setClickable(true);
tableRow.setOnClickListener(tablerowOnClickListener);
TextView textView0 = new TextView(getActivity());
textView0.setLayoutParams(new TableRow.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1));
textView0.setText(currencySymbol.get(j));
textView0.setGravity(Gravity.CENTER_HORIZONTAL
| Gravity.CLIP_VERTICAL);
tableRow.addView(textView0);
TextView textView1 = new TextView(getActivity());
textView1.setLayoutParams(new TableRow.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1));
textView1.setGravity(Gravity.RIGHT);
tableRow.addView(textView1);
}
這是onclicklistener
OnClickListener tablerowOnClickListener = new OnClickListener() {
public void onClick(View v) {
//GET TEXT HERE
//String currenttext = ((TextView)v).getText().toString());
Toast.makeText(getActivity(), "row selected" + View.getId , 30).show();
}
};
您需要使用v.getId()
來獲取OnClickListner內單擊視圖的ID。
取代這個
Toast.makeText(getActivity(), "row selected" + View,getId , 30).show();
通過這個
Toast.makeText(getActivity(), "row selected --> " + v.getId() , 30).show();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.