Java android setText和使用变量名的getString

Java android setText和使用变量名的getString,java,android,mobile,gettext,settext,Java,Android,Mobile,Gettext,Settext,所以,在互联网上搜索,我发现了很多我不需要的例子 以下是我的情况: 假设您有一个名为songs的数组,每个歌曲名有许多歌曲。因此,想象一下,在listview上显示了大约200个歌曲名 当你点击一首歌曲时,应用程序会加载另一个包含该歌曲歌词的活动。。。 但你是怎么做到的 我是这样做的。。我把这首歌的名字传给了这个新活动,在歌词所在的地方加载了资源 但是,当时我不得不在歌词中设置文本,我遇到了一个问题。。。我应该换200箱吗?这听起来很疯狂,所以,我所做的是,我在歌词中使用了相同的歌曲名称…所以它

所以,在互联网上搜索,我发现了很多我不需要的例子

以下是我的情况:

假设您有一个名为songs的数组,每个歌曲名有许多歌曲。因此,想象一下,在listview上显示了大约200个歌曲名

当你点击一首歌曲时,应用程序会加载另一个包含该歌曲歌词的活动。。。 但你是怎么做到的

我是这样做的。。我把这首歌的名字传给了这个新活动,在歌词所在的地方加载了资源

但是,当时我不得不在歌词中设置文本,我遇到了一个问题。。。我应该换200箱吗?这听起来很疯狂,所以,我所做的是,我在歌词中使用了相同的歌曲名称…所以它应该像这样加载:

TextView txtProduct = (TextView) findViewById(R.id.product_label);

    Intent i = getIntent();
    // getting attached intent data
    String[] musicas = getResources().getStringArray(R.array.botafogo_songs);
    // this here is where it brings the name of the music to the activity
    String product = i.getStringExtra("product");
    // displaying selected product name
    if (Arrays.asList(musicas).contains(product)) {
            //just formating so they have the same name.
        String productSplit = product.split("- ")[1];
        productSplit.replace(" ", "");
        txtProduct.setText(getString(R.string.AbreAlas)); 
    }else{
        txtProduct.setText("não contem");
    }
好的,AbreAlas是我资源的名称..它加载得很好。。 但是,我不能这样离开它…它应该是一个变量名。。。 比如:
R.string.+productSplit
或者像这样的


我在任何地方都找不到解决方案。

您可以使用
getIdentifier()

然后:

txtProduct.setText(getString(resourceName));

别忘了用试一试的方式来包装它。

成功了!稍微修改了一下代码<代码>if(Arrays.asList(musicas).contains(product)){String productSplit=product.split(“-”[1];//txtProduct.setText(@String/”+productSplit.replace(“,”);String productTrim=productSplit.replace(“,”);int a=this.getResources().getIdentifier(productTrim,“String”,getPackageName());txtProduct.setText(a);}else{txtProduct.setText(“não contem”);}
txtProduct.setText(getString(resourceName));