布局读取资源的位置?

时间:2011-08-03 13:35:20

标签: android resources android-layout override

我必须覆盖哪种方法,xml layout用于阅读与resources关联的示例:

如果我TextView中有layout

            <TextView android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:id="@+id/textview1"
                android:text="@String/text_test1"
                </TextView>

在我Activity的{​​{1}}中,我们始终使用onCreatesetContentView

-

我的问题是:当我们在活动中使用 xml 文件作为布局时,布局如何读取setContentView(R.layout.sample);之类的资源,所以我可以覆盖它,所以当布局请求时任何android:text="@String/text_test1我可以将另一个文本绑定到它吗?

-

注意:我不是寻找常规方法,通过在XML中查找视图,然后更改它的属性。 我正在寻找String方法,以xml布局更改abstract中请求的每个String

3 个答案:

答案 0 :(得分:0)

要更改文字,只需在活动中使用此文字即可。

  ((TextView)findViewById(R.id.textview1)).setText("New Text");

要覆盖整个TextView,您需要创建一个自定义textview类,扩展TextView并在那里执行您的工作。

答案 1 :(得分:0)

如果您想通过代码更改文本,请使用:

TextView textView = (TextView) findViewById(R.id.textview1);

textView.setText(getResources()的getString(R.string.yourtextishere));

答案 2 :(得分:0)

我不确定你的意思是什么。 无论如何,在res/文件夹中,您的应用程序将在运行时需要所有资源。 String是value/string.xml文件中定义的资源。

在编译时,ADT会生成一个java静态类,它会绑定任何资源的ID,字符串也是如此。因此,当您设置活动的布局时,字符串的vaule将通过该类中的特定ID获取。

如果您想要更改textView文本,您只需要在运行时使用该对象来表示textView:

TextView textView = (TextView) findViewById(R.id.textview1);

并使用他的方法设置文本:

textView.setText("New Text");
希望这会有所帮助。