请问为什么会出现这种情况?
我在XML中定义了2个ListView,并将其命名为
android:id="@+id/android:listbest"
和
android:id="@+id/android:listworst"
当我尝试从我的代码中引用它时,Eclipse显然无法找到这些ID。
我按如下方式引用它们:
v= inflater.inflate(R.layout.listaworstbest, container, false);
lvBest= (ListView)v.findViewById(android.R.id.listbest);
lvWorst=(ListView)v.findViewById(android.R.id.listworst);
我已多次清理并重建项目,但没有成功。
我的XML应该没问题,我看不出错误。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#1414FF">
<TextView
android:id="@+id/titolo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dip"
android:text="Best and Worst stocks"
android:layout_centerHorizontal="true"
android:textColor="#00EBEB"
/>
<TextView
android:id="@+id/best"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10dip"
android:text="Best stocks"
android:layout_centerHorizontal="true"
android:layout_below="@+id/titolo"
android:textColor="#00EBEB"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="20dip"
android:background="#1414FF">
<TextView
android:id="@+id/nome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10dip"
android:text="Nome"
android:ems="10"
android:layout_alignParentLeft="true"
android:layout_centerInParent="true"
android:textColor="#00EBEB"
/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:ems="8"
android:layout_height="wrap_content"
android:textSize="10dip"
android:text="Simbolo"
android:layout_toRightOf="@+id/nome"
android:textColor="#00EBEB"
android:layout_centerInParent="true"
/>
<TextView
android:id="@+id/prezzo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10dip"
android:text="Ultimo prezzo"
android:layout_toRightOf="@+id/textView1"
android:textColor="#00EBEB"
android:layout_centerInParent="true"
/>
<TextView
android:id="@+id/cambiamento"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Variazione"
android:textSize="10dip"
android:layout_alignParentRight="true"
android:textColor="#00EBEB"
android:layout_centerInParent="true"
/>
</RelativeLayout>
<ListView
android:id="@+id/android:listbest"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
</ListView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#1414FF">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10dip"
android:text="Worst stocks"
android:layout_centerHorizontal="true"
android:textColor="#00EBEB"
/>
</RelativeLayout>
<ListView
android:id="@+id/android:listworst"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
</ListView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="34dp"
android:background="#1414FF" >
<Button
android:id="@+id/dettagliobtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Details" />
<Button
android:id="@+id/favoritesbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Favorites" />
</RelativeLayout>
</LinearLayout>
感谢您的帮助!
修改: 为什么在这种情况下工作?????
<ListView
android:id="@+id/android:list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
</ListView>
Java是:
View v= inflater.inflate(R.layout.lista, container, false);
lv= (ListView) v.findViewById(android.R.id.list);
谢谢! 干杯! pietmau
答案 0 :(得分:5)
将两个ListViews ID更改为
First ListView
id to:
android:id="@+id/listworst"
和
Second ListView
ID to
android:id="@+id/listbest"
并将他们称为:
v= inflater.inflate(R.layout.listaworstbest, container, false);
lvBest= (ListView)v.findViewById(R.id.listbest);
lvWorst=(ListView)v.findViewById(R.id.listworst);