从“onCreate”Activity的方法获取TextView视图对象

时间:2014-05-18 17:10:48

标签: android

我在 onCreate TextView 对象时遇到问题>来自活动的方法。

我的活动的xml Fragment TextView的部分:

<TextView
    android:id="@+id/message_display_field"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

onCreate 方法:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_message);

    if (savedInstanceState == null) {
        getFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }

    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Create the text view
    TextView tv = (TextView) findViewById(R.id.message_display_field);
    tv.setText(message);
}

TextView tv = (TextView) findViewById(R.id.message_display_field);不返回textView我希望它返回但是返回null

最后,正如人们所料,这会引发NullPointerException

那么如果不是这样的话,我怎么能检索我的TextView view 对象呢? :(

注意:

  • 在按“运行”按钮通过模拟器启动应用程序之前,没有警告或错误。

  • NullPointer在运行时被触发。

我会提供任何帮助,谢谢你提前!

1 个答案:

答案 0 :(得分:0)

实际上,如果你在Fragment xml中的T​​extView你要做的是:

1-转到类片段覆盖onCreateView方法,从那里得到片段内的所有视图。

TextView foo;as //globle var

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container,
                false);

    foo = rootView.findViewById(R.id.message_display_field);

    return rootView;                 
}

现在你很高兴 我希望这有帮助