【发布时间】:2011-02-11 06:53:09
【问题描述】:
在我的应用程序中,我在表中创建动态行,就像在本教程中一样: http://en.androidwiki.com/wiki/Dynamically_adding_rows_to_TableLayout
for(int i = startDay; i < startDay + 7; i++){
/* Create a TextView to be the row-content. */
TextView day = new TextView(this);
day.setText(Integer.toString(i));
day.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
day.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("Listener: ", "Click");
}
所以现在当我点击 TextView 时,我可以注册点击事件,但我如何确定点击了哪个 TextView?
不仅仅是我通过事件获得的对象,而是点击了哪一天数字之类的数据?
理想情况下,我希望将数据附加到我动态创建的每个视图。 类似于 Javascript jQuery 中的 data() 方法。
现在我只能看到一种解决此问题的方法 - 在创建 TextView 时添加带有数据的 id 并在单击时 - 取回 id 并解析它以获取我的数据。但我觉得这种做法很丑陋。
有没有办法将任意数据附加到 android 视图?
【问题讨论】: