Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法用字符串编程设置视图的id_Java_Android - Fatal编程技术网

Java 有没有办法用字符串编程设置视图的id

Java 有没有办法用字符串编程设置视图的id,java,android,Java,Android,我正在用一个方法创建一些按钮,我想给一个id分配一个字符串来帮助我跟踪它。现在我有这个: if (count <= 5) { //CREATE NEW BUTTONS Button newTroop = new Button(this); Button remove = new Button(this); //STYLE NEW BUTTONS newTroop.setId(count); newTroop.setText("But

我正在用一个方法创建一些按钮,我想给一个id分配一个字符串来帮助我跟踪它。现在我有这个:

if (count <= 5)
    {
    //CREATE NEW BUTTONS
    Button newTroop = new Button(this);
    Button remove = new Button(this);

    //STYLE NEW BUTTONS
    newTroop.setId(count);
    newTroop.setText("Button Number " + count);
    remove.setId(count + 1);
    remove.setText("-");

    //CREATE NEW LINEAR LAYOUT
    LinearLayout addTroopLayout = new LinearLayout(this);

    //STYLE NEW LINEAR LAYOUT
    addTroopLayout.setId(count);
    addTroopLayout.setOrientation(LinearLayout.HORIZONTAL);
    addTroopLayout.setBackgroundColor(Color.BLACK);

    //ADD VIEWS TO NEW LAYOUT
    addTroopLayout.addView(newTroop);

    //ADD NEW LAYOUT TO mainPage LAYOUT
    mainPage.addView(addTroopLayout);

    //Increment Counter
    count++;
    }

因此,每次创建按钮时,它们都会被指定为removeBtn1、removeBtn2等。这是可能的,还是我应该用另一种方法进行操作。

setTag()
是一种很好的方法。然后调用
getTag()
,以获取标记的名称

remove.setTag("removeBtn" + count);

所以,如果我需要调用它,我可以使用findViewByTag(R.id.removeBtn1)来调用该按钮吗?如果(remove.getTag().equals(“removeBtn1”))没有问题,你可以使用条件语句!祝你好运和快乐。
remove.setId("removeBtn" + count)
remove.setTag("removeBtn" + count);