无法从View转换为ExpandableListView

时间:2014-07-06 10:32:05

标签: android

我可以用这种方式在一个视图中膨胀两个文本视图,它可以完美地运行

(...)
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 get

sensorlist.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>

1 个答案:

答案 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 '建议。

我希望这会有所帮助。让我知道你是怎么过的。