2012-11-14 73 views
0

我试图从数据库中检索特定数据,如自定义广告,用户名,日期等。所以遵循这个Need a simple tutorial for android/webservice work?的代码。我走错了一些地方任何一个可以帮助我是新来的android.Getting以下错误从数据库中检索数据

11-13 21:57:14.720: E/AndroidRuntime(399): FATAL EXCEPTION: main 
11-13 21:57:14.720: E/AndroidRuntime(399): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.response/com.response.FetchList}: java.lang.ClassCastException: com.response.FetchList 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.os.Looper.loop(Looper.java:123) 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.app.ActivityThread.main(ActivityThread.java:4627) 
11-13 21:57:14.720: E/AndroidRuntime(399): at java.lang.reflect.Method.invokeNative(Native Method) 
11-13 21:57:14.720: E/AndroidRuntime(399): at java.lang.reflect.Method.invoke(Method.java:521) 
11-13 21:57:14.720: E/AndroidRuntime(399): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
11-13 21:57:14.720: E/AndroidRuntime(399): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
11-13 21:57:14.720: E/AndroidRuntime(399): at dalvik.system.NativeStart.main(Native Method) 
11-13 21:57:14.720: E/AndroidRuntime(399): Caused by: java.lang.ClassCastException: com.response.FetchList 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
11-13 21:57:14.720: E/AndroidRuntime(399): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 

编辑 - 的Manifest.xml

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

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="15" /> 
<uses-permission android:name="android.permission.INTERNET"/> 

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

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="android.support.v4.app.FragmentActivity" /> 
    </activity> 
    <activity 
     android:name=".XMLParser" 
     android:label="@string/title_activity_response" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

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

+0

请张贴您的代码。 –

+0

您是否在清单中签署FetchList活动? – Rasel

+0

一想,这篇文章看起来像这样一个:http://stackoverflow.com/questions/4688277/java-lang-runtimeexception-unable-to-instantiate-activity-componentinfo –

回答

1

如果”已经完全按照原样从该链接获取了代码,那么你可能会在该行发现该错误,

public class FetchList extends asyncTask<Void,Void,Byte>{ 

       doinbackground{ 

这实际上是

public class FetchList extends asyncTask<Void, Void, Byte> { 
     @Override 
     protected Byte doInBackground (Void... voids){ 
      ... 
     } 
    } 

编辑:在您的评论的代码,

public class FetchList extends AsyncTask<Void,Void,Byte>{ 
    @Override 
    protected Byte doInBackground1(Void... arg0){ 
     // this was explained in first step 
     Response res = new Response("url"); 
     String response = res.getResponse(); 
     XMLParser xml = new XMLParser(response); 
     ArrayList<XMLParser> itemList = xml.getItemList(); 
     return xml.parse(); 
    } 
} 

在这种情况下,让我知道了logcat的输出是什么。

+0

公共类FetchList延伸的AsyncTask <空隙,空隙字节> { \t保护字节doInBackground1(空隙...为arg0){// 这是在第一步骤中 响应RES解释=新的响应( “URL”); String response = res.getResponse(); XMLParser xml = new XMLParser(response); ArrayList itemList = xml.getItemList(); return xml.parse(); } \t @覆盖 \t保护字节doInBackground(空隙...为arg0){ \t \t // TODO自动生成方法存根 \t \t返回NULL; \t} } 这是FetchList类,当我运行应用程序其显示力关闭 – SRY

+0

为什么你有2个同名的方法? 在代码中删除第二个'doInBackGround()'实例,并在该方法的第一个实例上面添加@ @ Override'签名。 – varevarao

+0

如果我这样做,我收到错误 – SRY