当我尝试设置textview的文本时,我得到一个nullpointerexception。不知怎的,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);
}
发现tablelayout没有任何问题。但是textview为null。 我已经清理了项目,但它没有解决问题
如果有人能帮助我,那将是件好事答案 0 :(得分: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)
答案 1 :(得分:0)
你写了
android:text="@+id/tv_ros_view1"
而不是
android:id
答案 2 :(得分:0)
您创建ID
文字视图,例如android:id="@+id/tv_ros_view1"
代替android:text="@+id/tv_ros_view1"
,这对您来说是完整的。
答案 3 :(得分:0)
在你的错误/第一个文本视图中,你写的是这样的:
android:text="@+id/tv_ros_view1"
只需将其替换为:
android:id="@+id/tv_ros_view1"
这是你必须为视图(TextView)分配id的方法。
答案 4 :(得分:0)
在xml布局中:
android:text="@+id/tv_ros_view1"
应该是:
android:id="@+id/tv_ros_view1"
text属性用于告诉textview要显示的文本。