Java 无法从视图强制转换到ListView

Java 无法从视图强制转换到ListView,java,android,eclipse,Java,Android,Eclipse,这是我的密码。 R.id.List是my.xml文件中的ListView。 在尝试构建项目时,我遇到了一个错误 public class MainActivity extends Activity { ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); se

这是我的密码。 R.id.List是my.xml文件中的ListView。 在尝试构建项目时,我遇到了一个错误

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);

    }
我的XML文件是

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

如果您的ListView看起来像:

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

它应该有效;)

如果您的ListView看起来像:

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

它应该有效;)

Android发布了一个扩展
Activity
的类,名为
ListActivity
,其中已经有私有的
ListView
,您可以使用
getListView()
与之交互。 如果xml中的列表
id
标记如下,则此类有效:
android:id=“@android:id/list”

更多信息包括: --使用
AsyncTask
而不是线程和可运行程序实现
适配器
更简单。两个都读

查看:


希望有帮助,祝你好运

Android发布了一个扩展
Activity
的类,名为
ListActivity
,其中已经有私有的
ListView
,您可以使用
getListView()
与之交互。 如果xml中的列表
id
标记如下,则此类有效:
android:id=“@android:id/list”

更多信息包括: --使用
AsyncTask
而不是线程和可运行程序实现
适配器
更简单。两个都读

查看:


希望有帮助,祝你好运

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

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

清理并构建你的项目谢谢你,伙计,但我在过去的两个小时里一直在尝试。我也对eclipse和我的pc进行了重新测试,但它没有工作。发布xml活动\u列表\u视图代码编译良好,然后给你一个ClassCastException,还是根本不编译?清理并构建你的项目谢谢你,伙计,但我在过去两个小时里一直在尝试。我也重新安装了eclipse和我的电脑,但它没有工作。发布xml活动\u列表\u视图代码编译很好,然后给你一个ClassCastException,还是根本没有编译?@AJay我没有看到任何错误。但是xml是否发布了
活动列表\u视图
?@AJay我没有看到任何错误。但是xml是否已发布到
activity\u list\u view
android:id=“@android:id/list”
不是
@+id
,而是+1
android:id=“@android:id/list”
不是
@+id
,而是+1
    listView = (ListView) findViewById(android.R.id.list);