我有一個線程,調用一個Soap web服務,我登錄用戶,然後顯示敬酒說「歡迎」+用戶名......但現在在該UI線程中,我會也喜歡從登錄屏幕導航到主登錄頁面的頁面,但是當我這樣做時我收到一個錯誤。下面是代碼和錯誤。下面在android工作室的線程中打開一個新的活動
線程代碼
Thread thread = new Thread(new Runnable(){
@Override
public void run() {
try {
String Response = "";
HT.call(Soap_action_Temp,envelope);
SoapPrimitive resultString = (SoapPrimitive) envelope.getResponse();
Settings.setUserLoginResult(resultString.getValue().toString());
Response = Settings.getUserLoginResult().toString();
if (Response != "")
{
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(LoginScreen.this,"Welcome " + username + " !",Toast.LENGTH_LONG).show();
Intent i = new Intent(LoginScreen.this,LandingPage.class);
startActivity(i);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.start();
問題
圖爲活動是空的?這有什麼理由嗎?
logcat的是顯示我什麼不尋常的,但我的應用程序崩潰,並說:「應用程序名稱已停止工作」
任何一個可以請幫助我們與這是爲什麼失敗?或者是我的代碼錯了?
編輯
該應用程序甚至沒有打到抓事件中,我插嘴說。
這裏是點擊登錄後的logcat的進入和appcrashes
07-17 07:52:33.145 10329-10329/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.Ellipsys.embizomobile/com.example.Ellipsys.embizomobile.LandingPage}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
at android.app.ActivityThread.access$700(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:108)
at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
at com.example.Ellipsys.embizomobile.LandingPage.onCreate(LandingPage.java:13)
at android.app.Activity.performCreate(Activity.java:5372)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
at android.app.ActivityThread.access$700(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
悠唐:
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
在清單這活動標籤添加不需要放兩個'runOnUiThread'。您可以將'startActivity..'部分移至第一個部分。其次,如果應用程序崩潰,則必須有logcat所說的內容。 –
不要在後臺進程中放置TOAST通知 –
@Prag's不在後臺進程中,它在UI線程上,因爲Soap調用在後臺線程中我必須創建UI線程才能在屏幕上顯示Toast – Arrie