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

    }

これは私のコードです。R.id.List は、.xml ファイルの ListView です。プロジェクトをビルドしようとしているときに、オンラインでエラーが発生しています

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

そして、私のXMLファイルは

<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と呼ばれる拡張クラスをリリースしました。このクラスは、xml のリストが次のように宣言されて いる場合に機能します。ListActivityListViewgetListView()idandroid: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 に答える