Android从第二个布局文件调用TextView的问题



嘿,伙计们,我的活动的主要布局xml文件是r.p layout。Date_list_layout,如下所示

 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.date_list_layout);

然而,我希望在另一个布局xml文件R.layout.display_item中设置同一活动的TextView中的文本

我知道我通常会使用下面的代码,但这是不工作的R.id.currency TextView不是在主R.layout.date_list_layout....

TextView currency = (TextView) findViewById(R.id.currency);
currency.setText(cur);

我知道下一行代码是不正确的,但是是否有一种方法可以编写类似的代码行来访问r.r布局中的R.id.currency。Display_item XML还是不能这样做?

TextView currency = (TextView) findViewById(R.layout.display_item/R.id.currency);
currency.setText(cur);

一些帮助将会非常感激,因为这让我困惑了两天,我在网上找不到任何解决方案

您首先需要膨胀其他xml布局文件,以便能够在TextView上做的东西。

(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE).inflate(R.layout.display_item);

我认为你可以用Intent数据解决你的问题。你通过Intent开始你的活动,对吧?如果是这样,只需通过Intent传递所需的数据(cur…),就可以了。

除非你将布局嵌入到当前布局(布局1)中,否则你不应该这样做,在这种情况下,你需要使用include布局。

如果你想访问数据,并设置它从一个活动到另一个。使用SharedPreference将文本存储在此活动中,当使用第二个布局作为其内容视图的其他活动启动时,您可以使用此SP访问数据并设置文本视图。

由于第二个TextView是另一个布局的一部分,所以我们必须使用

 setContentView(R.layout.R.layout.display_item);

那么对于第二个TextView将代码改为

setContentView(R.layout.display_item);
TextView currency = (TextView) findViewById(R.layout.display_item/R.id.currency);
currency.setText(cur);