【问题标题】:Android TextView.setID(int) programatically not workingAndroid TextView.setID(int) 以编程方式不起作用
【发布时间】:2015-07-19 07:27:58
【问题描述】:
 private void displayWordsList() {
    this.wordsList.removeAllViews();
    int i = (int) (0.5f + (3.0f * getResources().getDisplayMetrics().density));
    int i2 = (int) (0.5f + (2.0f * getResources().getDisplayMetrics().density));
    TextView textView = null;
    TextView textView2;
    Word word;
    View textView3;
    LayoutParams layoutParams;
    View view;
    if (findViewById(R.id.words) instanceof ScrollView) {
        Iterator it = this.gridView.getWords().iterator();
        int i3 = 100;
        textView2 = null;
        while (it.hasNext()) {
            word = (Word) it.next();
            if (!word.found) {
                textView3 = new TextView(this);
                textView3.setTextSize(15.0f);
                textView3.setText(word.toString());
                textView3.setGravity(17);
                textView3.setPadding(i, i2, i, i2);
                textView3.setTextColor(Color.argb(MotionEventCompat.ACTION_MASK, 51, 51, 51));
                layoutParams = new RelativeLayout.LayoutParams(-2, -2);
                if (i3 == 100) {
                    layoutParams.addRule(11);
                    layoutParams.addRule(10);
                    textView3.setLayoutParams(layoutParams);
                    textView3.setId(i3);
                    view = textView3;
                } else {
                    layoutParams.addRule(11);
                    layoutParams.addRule(3, textView2.getId());
                    textView3.setLayoutParams(layoutParams);
                    textView3.setId(i3);
                    view = textView3;
                }
                this.wordsList.addView(textView3);
                i3++;
                textView2 = view;
            }
        }

这是我的填字游戏 displayWordList.java, textView3.setId(i3);当我尝试 setId(i3) 表示 (int i3=100;) 在 Android Studio 中出现类似“Expected resource type of id”的错误任何帮助..

【问题讨论】:

  • 你想用这个 ID 做什么?
  • 我的填字游戏
  • 我的意思是什么?为了区分 TextViews?
  • 什么是错误并尝试 final int i3=100;
  • 是的,它带有gridView

标签: android textview int


【解决方案1】:

在您的 res-values 文件夹中创建文件。将其命名为 ids.xml。 把它放在你的文件中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <item type="id" name="your_desire_name"/>
</resources>

现在你可以参考它了:

textView3.setId(R.id.your_desire_name);

此外,您的逻辑将不起作用,因为您没有初始化“textView3”,因此它将为空。

【讨论】:

  • 为什么要id是这个数字?更好的方法是让系统按照我的建议管理视图的 ID。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 2013-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多