2012-09-04 63 views
-1

我想使用一個簡單的列表視圖,但是當我運行我的程序時,我得到錯誤。ListView沒有顯示

public class ListViewActivity extends Activity{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.list); 

     ListView listView = (ListView) findViewById(R.id.listView1); 
     String[] values = new String[]{"Number 1", "Number 2", "Number 3"}; 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, android.R.id.text1, values); 

     listView.setAdapter(adapter); 

     listView.setOnItemClickListener(new OnItemClickListener() { 

      public void onItemClick(AdapterView<?> parent, View view, int position, 
       long id) { 
       // TODO Auto-generated method stub 
       Toast.makeText(ListViewActivity.this, "Click ListItem Number " + position 
        , Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 
} 

現在,你能告訴我我的問題在哪裏嗎?

更新: 我的佈局:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

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

清單:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.animeparadise" 
android:versionCode="1" 
android:versionName="1.0" > 

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

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".AnimeParadiseT1" 
     android:label="@string/title_activity_anime_paradise_t1" 
     android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:label="@string/title_activity_anime_paradise_t1" android:name=".ViewActivity" android:screenOrientation="portrait"> 
     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER"/> 
      <action android:name="android.intent.action.MAIN"/> 
     </intent-filter> 
    </activity> 
    <activity android:label="@string/title_activity_anime_paradise_t1" android:name=".AboutActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
    <activity android:name=".ListActivity" android:label="@string/title_activity_anime_paradise_t1"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
</application> 

的logcat:

09-04 16:04:23.485: D/dalvikvm(7779): GC_EXTERNAL_ALLOC freed 46K, 51% free 2686K/5379K, external 0K/0K, paused 67ms 
09-04 16:04:25.917: D/AndroidRuntime(7779): Shutting down VM 
09-04 16:04:25.917: W/dalvikvm(7779): threadid=1: thread exiting with uncaught exception (group=0x40195560) 
09-04 16:04:25.927: E/AndroidRuntime(7779): FATAL EXCEPTION: main 
09-04 16:04:25.927: E/AndroidRuntime(7779): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.animeparadise/com.animeparadise.ListViewActivity}; have you declared this activity in your AndroidManifest.xml? 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.app.Activity.startActivityForResult(Activity.java:2827) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.app.Activity.startActivity(Activity.java:2933) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at com.animeparadise.AnimeParadiseT1$1.onClick(AnimeParadiseT1.java:30) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.view.View.performClick(View.java:2506) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.view.View$PerformClick.run(View.java:9112) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.os.Handler.handleCallback(Handler.java:587) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.os.Handler.dispatchMessage(Handler.java:92) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.os.Looper.loop(Looper.java:130) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at android.app.ActivityThread.main(ActivityThread.java:3835) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at java.lang.reflect.Method.invoke(Method.java:507) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
09-04 16:04:25.927: E/AndroidRuntime(7779):  at dalvik.system.NativeStart.main(Native Method) 
+0

請分享你的xml文件。 – Nikhil

+0

和你的xml內容? – waqaslam

+0

清單或佈局? – Hosein

回答

3

在您的Manifest文件中更改"<activity android:name=".ListActivity" to ".ListViewActivity"

有你的錯誤.....

+0

我現在改變它,但我仍然有錯誤。 – Hosein

+0

在Java代碼中擴展ListActivity而不僅僅是Activity,然後試試這個。它應該工作。它的工作原理是 – pixelscreen

+0

。我只是將其更改爲listActivity。現在我將其更改爲「活動」並且它可以工作。 TNX尋求幫助。 – Hosein

0

寬度添加fill_parent和他LinearLayout,寬度爲ListView

看到你之後的編輯清單。 您有一個名爲ListViewActivity的活動,但你宣告:

<activity android:name=".ListActivity" android:label="@string/title_activity_anime_paradise_t1"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN"/> 
     <category android:name="android.intent.category.LAUNCHER"/> 
    </intent-filter> 
</activity> 

改成了ListViewActivity,二:意圖過濾器與MAIN和LAUNCHER只能是任何一種顯示在啓動時的第一個Activity你的應用。

1
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, android.R.id.text1, values); 

試試這個。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
         android.R.layout.simple_list_item_1, values);