在TextView中更改文本

时间:2017-07-19 20:29:13

标签: java android

我的“activity_main.xml”中有一个TextView元素:

        <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:text="@string/my_best_text"
        android:background="#FF0000"
        />

并希望使用ID“text1”更改此TextView中的文本!我在我的“MainActivity.java”中试过这样的事情:

    @Override
    public void onNavigationDrawerItemSelected(int position) {
        ((TextView)findViewById(R.id.text1)).setText("Menu item selected -> " + position);
    }

如何正确地做到这一点?

修改

我的应用程序崩溃了这两行

TextView txtView= ((TextView)findViewById(R.id.text1));
txtView.setText("Menu item selected -> " + position);

4 个答案:

答案 0 :(得分:1)

如果您想更改程序中其他位置的文字,可以使用setText

对于您提供的文字,您希望将其更改为以下内容:

@Override
public void onNavigationDrawerItemSelected(int position) {
    TextView txtView= ((TextView)findViewById(R.id.text1));
    txtView.setText("Menu item selected -> " + position);
}

此外,如果您有TextView txtView= ((TextView)findViewById(R.id.text1));,我建议您在onCreate中填写此行:txtView.setText("Menu item selected -> " + position);,然后在onNavigationDrawerItemSelected中使用第二行:sys.stdout或者你需要它的任何其他地方。

答案 1 :(得分:0)

尝试这种方式:

{{1}}

答案 2 :(得分:0)

有很多方法可以做到这一点,常见的方法是:

@Override
public void onNavigationDrawerItemSelected(int position) {

    TextView textView1 = (TextView) findViewById(R.id.text1);
    textView1.setText("Menu item selected -> " + position);
}

答案 3 :(得分:0)

这将起作用您可以将您的Java代码更改为:

@Override
public void onNavigationDrawerItemSelected(int position) {

    TextView text = (TextView) findViewById(R.id.text1); 
    text.setText("Menu item selected -> " + position);

}