1
public class MainActivity extends Activity {
    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view);
        setTitle("First Window");

        listView = (ListView) findViewById(R.id.list);

    }

This is my code. R.id.List is a ListView in my .xml file. while trying to build project i am getting error on line

listView = (ListView) findViewById(R.id.list); //that is "Cannot cast from View to ListView" please help me.

And my XML file is

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>
4

3 回答 3

8

看,你是否导入了 android.widget.ListView?我认为您正在同一个包中创建一个名为 ListView.java 的类..

于 2013-09-10T15:04:42.123 回答
2

Android 发布了一个类扩展Activity名为ListActivity,它已经有私有ListView内部,您可以使用getListView(). 如果idxml 中的列表按如下方式贴花,则此类有效: android:id="@android:id/list"

此处包含更多信息:-关于Adapter使用AsyncTask而不是线程和可运行对象的实现更简单。阅读它们。

查看Android 版本

希望对你有帮助,祝你好运!

于 2013-09-10T14:38:37.893 回答
0

如果您的 ListView 看起来像:

<ListView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:id="@android:id/list">

然后像这样声明它:

    listView = (ListView) findViewById(android.R.id.list);

它应该有效;)

于 2013-09-10T14:26:03.857 回答