手动转换set.id()后无法访问组件

时间:2013-05-10 12:05:44

标签: android android-layout null

我有一个小问题,你们能帮助我吗?

我有这样的代码:

TextView tz;
TextView tv = new TextView(this);
tv.setId(0x7f090024);
tv.setText("hello");
View vv = findViewById(0x7f090024);

if (vv != null)
{
    Log.e("number_id", "not null");
}
else
    Log.e("number_id", "null");

// also return error (java lang null pointer exception) with this
tz = (TextView) findViewById(0x7f090024);
Log.e("test", tz.getText().toString());

为什么此结果始终返回null而我无法从第二个文本字段tz获取值?

2 个答案:

答案 0 :(得分:0)

它返回null,因为findViewById指的是使用View构建的setContentView层次结构。您的TextView不属于它,因此您无法使用findViewById检索它。

答案 1 :(得分:0)

是的,你可以设置ID,你可以通过获取ID来访问小部件,但是你需要检查this link