我可以使用字符串作为Id吗?

时间:2013-02-16 11:06:49

标签: java android

Android开发中仍然是Noob 所以这是我的代码

for(int i=1;i<=6;i++){
    for(int j=startat;j<=7;j++){
        String constring = "r" + i + "c" + j;
        //TextView dtv = (TextView) findViewById(R.id.constring); #commented this out
    }
}

有没有办法可以将字符串变量constring用作Id?

2 个答案:

答案 0 :(得分:1)

  

有没有办法可以将字符串变量constring用作Id?

我对于想要制作什么感到困惑?!

这:TextView dtv = (TextView) findViewById(R.id.constring);

特别是R.id.constring你不应该这样做,不要像你那样做。每个id都是从XML资源自动生成的,您应该尊重它!

同样 R.id.costring int而不是R.java自动生成String,因此您的方法无效。

从您的代码中感受到“意大利面条代码”。

<TextView 
   android:id=@+id/constring"
   ... next attributes
/>

如果您这样写,将自动生成名为 constring id,然后您只需致电R.id,以便 constring 自动生成填充。

如果您不想创建XML,那么就这样做:

TextView t = new TextView();
t.setText("Hello World");
setContentView(t);


我建议你为初学者阅读一些Android教程。在这里你可以开始:

答案 1 :(得分:0)

您可以使用getIdentifier方法从名称获取资源ID。