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

时间:2011-07-16 17:00:05

标签: android android-layout textview

嘿伙计们,我活动的主要布局xml文件是R.layout.date_list_layout,因为它使用如下

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

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

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

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

我知道下一行代码是不正确的,但有没有办法编写类似的代码行来访问R.layout.display_item xml中的R.id.currency?或者这可以不做?

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

一些帮助真的很值得赞赏,因为这让我对过去两天感到难以置信,我在网上找不到任何解决方案

4 个答案:

答案 0 :(得分:0)

首先需要对其他xml布局文件进行充气,以便能够在TextView上执行操作。

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

答案 1 :(得分:0)

除非您将布局嵌入到当前布局(布局1)中,否则不应该执行您正在执行的操作,在这种情况下,您需要使用包含布局。

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

由于第二个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);