使用R.java资源发出findViewById

时间:2013-11-26 16:01:29

标签: android xml android-activity resources textview

我有两个活动,即MainActivity和DisplayMessageActivity。 MainActivity是一个应用启动器,第一个UI只包含两个组件: EditText 按钮。 DisplayMessageActivity只有一个组件 TextView ,并定义了默认字符串。我只想更改/设置在 EditText 字段中输入的 TextView 的文本值,以及单击按钮时。

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

返回由MainActivity的intent调用导航的DisplayMessageActivity中的空指针。我能够在没有问题的情况下在MainActivity中设置和获取文本。请帮帮我:)。

@codeMagic:谢谢:)这是xml `

<TextView
    android:id="@+id/typed_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/typed_text"/>

`

DisplayMessageActivity中的onCreate方法:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_display_message);

    // Get the message from the intent
    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Create the text view
    //TextView textView = new TextView(this); - This works

    TextView textView = (TextView) findViewById(R.id.typed_text); // null pointer

    textView.setTextSize(40);
    textView.setText(message);



    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        // Show the Up button in the action bar.
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }   

}

1 个答案:

答案 0 :(得分:0)

启动DisplayMessageActivity时,使用intent.putExtra()传递EditText的输入。

http://developer.android.com/training/basics/firstapp/starting-activity.html

这可能正是你所需要的!