2013-05-17 98 views
0

我想一個例子鏈接http://www.semurjengkol.com/populating-android-listview-with-json-based-data-fetched-from-mysql-server-using-php/,i嘗試同樣的事情,但我不能得到解決無效響應

activity_list_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" > 

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

</LinearLayout> 

Mainactivity.java

public class MainActivity extends ListActivity implements FetchDataListener{ 
    private ProgressDialog dialog; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState);  
      //setContentView(R.layout.activity_list_item); 
      initView(); 
     } 

     private void initView() { 
      // show progress dialog 
      dialog = ProgressDialog.show(this, "", "Loading..."); 

      String url = "http://10.0.2.2/test/apps.php"; 
      FetchDataTask task = new FetchDataTask(this); 
      task.execute(url); 
     } 

     @Override 
     public void onFetchComplete(List<Application> data) { 
      // dismiss the progress dialog 
      if(dialog != null) dialog.dismiss(); 
      // create new adapter 
      ApplicationAdapter adapter = new ApplicationAdapter(this, data); 
      // set the adapter to list 
      setListAdapter(adapter);   
     } 

     @Override 
     public void onFetchFailure(String msg) { 
      // dismiss the progress dialog 
      if(dialog != null) dialog.dismiss(); 
      // show failure message 
      Toast.makeText(this, msg, Toast.LENGTH_LONG).show();   
     } 
    } 

主要問題,我這裏會提到..

如果我註釋掉setcontent視圖不顯示我還可以運行任何錯誤,但在無效響應

emulatore其shwoing錯誤,如果我沒有註釋掉臨客logcat中這樣表示

內容誤差必須有一個ListView其id屬性爲「android.R.id.list」

logcat的錯誤:

5-17 11:30:30.649: E/AndroidRuntime(1177): FATAL EXCEPTION: main 
05-17 11:30:30.649: E/AndroidRuntime(1177): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jsonandroid/com.example.jsonandroid.MainActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list' 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.os.Looper.loop(Looper.java:137) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.ActivityThread.main(ActivityThread.java:5039) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at dalvik.system.NativeStart.main(Native Method) 
05-17 11:30:30.649: E/AndroidRuntime(1177): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list' 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.ListActivity.onContentChanged(ListActivity.java:243) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:273) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.Activity.setContentView(Activity.java:1881) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at com.example.jsonandroid.MainActivity.onCreate(MainActivity.java:17) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.Activity.performCreate(Activity.java:5104) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
05-17 11:30:30.649: E/AndroidRuntime(1177):  ... 11 more 

它可能是解決方案,這是例子或UR任何問題L問題

+0

請刪除logcat錯誤並添加apps.php文件代碼和JSON解析java代碼 –

+0

其實我只做android部分不是php部分我只想要url –

+1

URL http://10.0.2.2 /test/apps.php表示你的本地主機。你必須有你的PHP文件和運行PHP服務器。 –

回答

1

URL http://10.0.2.2/test/apps.php表示您的本地主機。你必須有你的PHP文件和運行PHP服務器才能成功執行客戶端程序。