我可以用这种方式在一个视图中膨胀两个文本视图,它可以完美地运行
(...)
v = this.minflater.inflate(R.layout.item, null);
TextView tv = (TextView) v.findViewById(R.id.textView1);
tv.setText("Health");
tv = (TextView) v.findViewById(R.id.textView2);
tv.setText(batHeal);
(...)
return v;
现在我需要扩展一个expandableListView,但是在第2行我得到了#34;无法从View转换为ExpandableListView"。
(1)v = this.minflater.inflate(R.layout.sensorlist, null);
(2)ExpandableListView sList = (ExpandableListView) v.findViewById(R.id.sList);
minflater是来自getLayoutInflater()
的LayoutInflater getsensorlist.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ExpandableListView
android:id="@+id/sList"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</ExpandableListView>
</LinearLayout>
答案 0 :(得分:0)
发生这种情况的最合理原因是您导入了错误的ExpandableListView
。如果您正在使用任何外部库或已创建任何具有自己的ExpandableListView
类的包,则最终可能会出现以下内容;
import custom.somepackage.ExpandableListView;
...
ExpandableListView el = (ExpandableListView) v.findViewById(R.id.sList);
// Above wont compile
android.widget.ExpandableListView el = (android.widget.ExpandableListView) v.findViewById(R.id.sList);
// Above will compile.
例如,在netbeans上,单击“创建类”“ExpandableListView”中的“yourpackage.something ”建议,而不是单击“添加”将是一个非常容易的错误。导入android.widget.ExpandableListView '建议。
我希望这会有所帮助。让我知道你是怎么过的。