Android更改片段textview

时间:2014-07-20 20:07:43

标签: android android-fragments

我正在关注创建标签的本教程:http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1

我想在主要活动中设置textview(在游戏片段中)。我正在尝试使用此代码

这是游戏片段xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#FFFFFF" >

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Game List"
        android:textSize="20dp"
        android:layout_centerInParent="true"
        android:id="@+id/metin"/>


</RelativeLayout>

我在oncreate活动(主要活动)中尝试使用此代码

TextView myAwesomeTextView = (TextView)findViewById(R.id.metin);
myAwesomeTextView.setText("My Awesome Text");

但是应用程序正在崩溃。我该如何解决它?

1 个答案:

答案 0 :(得分:0)

由于空指针异常,它可能会崩溃,因为您正在调用findViewById(R.id.metin)来搜索活动中的视图。

我建议您在片段中设置一个方法,该方法可以将itselft或其视图作为参数传递,这样您就可以调用更有可能找到TextView的view.findViewById(R.id.metin)

还要记得在将视图附加到主活动后调用该视图,否则您将获得另一种空指针异常。为此,您需要了解片段的生命周期。

阅读本文:Fragment lifecycle