0

当我尝试设置文本视图的文本时,我得到一个空指针异常。不知何故 findviewbyid 方法返回 null 但我不知道为什么。

这是我的 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="wrap_content" >

<RelativeLayout
    android:id="@+id/rl_ros_layout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@+id/tv_ros_view1"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <ProgressBar
        android:id="@+id/pb_ros_bar1"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:visibility="invisible" />
</RelativeLayout>

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/rl_ros_layout1" >

    <TableLayout
        android:id="@+id/tl_rostertable"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:stretchColumns="2" >

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="3dp"
                android:text="@string/team" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="3dp"
                android:text="@string/pos" />

            <TextView
                android:layout_height="wrap_content"
                android:padding="3dp"
                android:text="@string/name" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:padding="3dp"
                android:text="@string/score" />
        </TableRow>
    </TableLayout>
</ScrollView>
</RelativeLayout>

和我的 oncreate 方法

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.roster);
    final Bundle extra = getIntent().getExtras();
    position = extra.getInt("pos");
    int id = de.damps.fantasy.HomeActivity.ID[position];
    url = de.damps.fantasy.HomeActivity.URL + "/roster/2011/" + id;
    tbl = (TableLayout) findViewById(R.id.tl_rostertable);
    team = (TextView) findViewById(R.id.tv_ros_view1);
    String  s= de.damps.fantasy.HomeActivity.TEAMS[position];
    team.setText(s);

    new GetRoster().execute(url);
}

发现表格布局没有任何问题。但文本视图为空。我已经清理了项目,但它没有解决问题

如果有人可以帮助我会很好

4

5 回答 5

2

你有一个错字:

   <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:id="@+id/tv_ros_view1"
    android:textAppearance="?android:attr/textAppearanceMedium" />

(android:text 而不是 android:id)

于 2012-08-27T14:25:01.807 回答
0

你写了

 android:text="@+id/tv_ros_view1"

代替

android:id
于 2012-08-27T14:25:29.823 回答
0

您可以像这样创建ID文本视图android:id="@+id/tv_ros_view1"来代替它,android:text="@+id/tv_ros_view1"这对您完全有用。

于 2012-08-27T14:26:20.767 回答
0

在您的错误/第一个文本视图中,您这样写:

         android:text="@+id/tv_ros_view1"

只需将其替换为:

         android:id="@+id/tv_ros_view1"

这就是您必须将 id 分配给视图(TextView)的方式。

于 2012-08-27T14:26:36.423 回答
0

在你的 xml 布局中:

android:text="@+id/tv_ros_view1"

应该:

android:id="@+id/tv_ros_view1"

text 属性用于告诉 textview 显示什么文本。

于 2012-08-27T14:26:59.560 回答