无法从视图转换为MyListView

时间:2014-03-27 02:27:23

标签: java android android-listview

我是Android / JAVA的新手。 我有一个像这样的MyListViewPD,它可以作为MainActivity运行:

public class MyListViewPD extends ListActivity {
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    SimpleAdapter adapter = new SimpleAdapter(this, getData(),
            R.layout.vlist, new String[] { "title", "img" },
            new int[] { R.id.title, R.id.img });
    setListAdapter(adapter);

}
private List<Map<String, Object>> getData() {
    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

    Map<String, Object> map = new HashMap<String, Object>();
    map.put("title", "T1");
    map.put("img", R.drawable.i2);
    list.add(map);
      }
}

我想要这个MyListViewPD可以在APP打开时启动,所以我这样做:

   public class MainActivity extends Activity {

private MyListViewPD listViewPD;
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    listViewPD = (MyListViewPD)findViewById(R.id.myListView);
}

}

但:

 listViewPD = (MyListViewPD)findViewById(R.id.myListView);

无法从View转换为MyListViewPD

我不确定会发生什么,但我想这是一个基本问题..

3 个答案:

答案 0 :(得分:0)

MyListViewPD不是视图。您将其定义为活动。 认为你应该阅读更多文档:)

答案 1 :(得分:0)

如果您希望MyListViewPD可以在APP打开时启动,您最好在AndroidManifest.xml中执行此操作:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.yourprojectname"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="15" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/i2"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MyListViewPD"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

请注意任何具有“intent-filter”的活动:

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

可以在APP打开时启动。希望可以提供帮助

答案 2 :(得分:0)

如果要列为视图,则应扩展listview而不是列出活动并根据需要进行管理。您可以在xml中为列表视图设置自定义行