2017-07-31 89 views
-3

拜託,我想我的發射活動改變,我只是使用Twitter數字開發的驗證活動,我已經改變了我的Android manifest和Java代碼必要的調整,但注意到應用保持每次我嘗試啓動崩潰,認證活動的名稱是AboutAcivity.java,在調試會話期間,我從我的Android監視器控制檯,這條線以藍色at com.close.close.AboutActivity.onCreate(AboutActivity.java:34) 強調始終指向setContentView(R.layout.activity_about);觀察我曾考察該佈局和發現什麼錯了,我想我需要第三隻眼睛來幫助粉碎這個令人討厭的bug,注意,我已經回顧了其他的回答問題,但是那裏的解決方案對我沒有任何作用。謝謝。「不幸的是應用程序已停止工作」的Android工作室

這裏是我的清單:

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

    <uses-sdk 
     android:minSdkVersion="16" 
     android:targetSdkVersion="19"/> 

    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.RECORD_AUDIO"/> 
    <uses-permission 
     android:name="android.permission.CAMERA" 
     android:required="true"/> 

    <uses-feature android:name="android.hardware.camera.any"/> 

    <android:uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
    <android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/app_icon" 
     android:label="@string/app_name" 
     android:theme="@style/CustomActionBarTheme"> 
     <service 
      android:name=".MessageService" 
      android:enabled="true"/> 

     <activity 
      android:name=".AboutActivity" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
     <activity android:name="com.theartofdev.edmodo.cropper.CropImageActivity"/> 
     <meta-data 
      android:name="io.fabric.ApiKey" 
      android:value="34308698bb3cbc96444f2ff10ad1ae167d75d8e9"/> 

     <activity android:name=".MainActivity"> 
     </activity> 
     <activity android:name=".Profile_info"> 
     </activity> 



     <activity 
      android:name=".ChatActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:label="@string/title_activity_chat" 
      android:launchMode="singleTop"> 
     </activity> 
     <activity 
      android:name=".ViewImageActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:label="@string/title_activity_view_image" 
      android:parentActivityName=".ChatActivity" 
      android:theme="@style/FullscreenTheme"> 
     </activity> 
     <activity 
      android:name=".RecordAudioActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:label="@string/title_activity_record_audio" 
      android:parentActivityName=".ChatActivity"> 
     </activity> 
     <activity 
      android:name=".PlayVideoActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:label="@string/title_activity_play_video"> 
     </activity> 
     <activity 
      android:name=".FilePickerActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:label="@string/title_activity_file_picker" 
      android:parentActivityName=".ChatActivity"> 
     </activity> 
     <activity 
      android:name=".WebViewActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:label="@string/title_activity_web_view" 
      android:parentActivityName=".ChatActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW"/> 

       <category android:name="android.intent.category.DEFAULT"/> 
       <category android:name="android.intent.category.BROWSABLE"/> 

       <data android:scheme="myweburl"/> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".DrawingActivity" 
      android:label="@string/title_activity_drawing"> 
     </activity> 

    </application> 

</manifest> 

這裏是AboutActivity代碼

import android.content.Intent; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 
import android.widget.Toast; 

import com.digits.sdk.android.AuthCallback; 
import com.digits.sdk.android.Digits; 
import com.digits.sdk.android.DigitsAuthButton; 
import com.digits.sdk.android.DigitsException; 
import com.digits.sdk.android.DigitsSession; 
import com.twitter.sdk.android.core.TwitterAuthConfig; 
import com.twitter.sdk.android.core.TwitterCore; 

import io.fabric.sdk.android.Fabric; 

public class AboutActivity extends AppCompatActivity { 






    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET); 
     Fabric.with(this, new TwitterCore(authConfig), new Digits.Builder().build()); 
     setContentView(R.layout.activity_about); 





     DigitsAuthButton digitsButton = (DigitsAuthButton) findViewById(R.id.auth_button); 

     digitsButton.setCallback(new AuthCallback() { 
      @Override 
      public void success(DigitsSession session, String phoneNumber) { 
       // TODO: associate the session userID with your user model 
       Toast.makeText(getApplicationContext(), "Authentication successful for " 
         + phoneNumber, Toast.LENGTH_LONG).show(); 

       Intent intent=new Intent(AboutActivity.this,Profile_info.class); // redirecting to LoginActivity. 
       startActivity(intent); 

      } 

      @Override 
      public void failure(DigitsException exception) { 
       Log.d("Digits", "Sign in with Digits failure", exception); 
      } 
     }); 



    } 
} 

這是我的日誌貓

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.close.close/com.close.close.AboutActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2348) 
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410) 
         at android.app.ActivityThread.access$800(ActivityThread.java:151) 
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313) 
         at android.os.Handler.dispatchMessage(Handler.java:102) 
         at android.os.Looper.loop(Looper.java:135) 
         at android.app.ActivityThread.main(ActivityThread.java:5348) 
         at java.lang.reflect.Method.invoke(Native Method) 
         at java.lang.reflect.Method.invoke(Method.java:372) 
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742) 
        Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 
         at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359) 
         at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328) 
         at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289) 
         at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
         at com.close.close.AboutActivity.onCreate(AboutActivity.java:34) 
         at android.app.Activity.performCreate(Activity.java:6012) 
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292) 
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)  
         at android.app.ActivityThread.access$800(ActivityThread.java:151)  
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)  
         at android.os.Handler.dispatchMessage(Handler.java:102)  
         at android.os.Looper.loop(Looper.java:135)  
         at android.app.ActivityThread.main(ActivityThread.java:5348)  
         at java.lang.reflect.Method.invoke(Native Method)  
         at java.lang.reflect.Method.invoke(Method.java:372) 

這裏是我的activity_about.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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" 
       android:background="#FD579D" 
       android:paddingBottom="@dimen/activity_vertical_margin" 
       android:paddingLeft="@dimen/activity_horizontal_margin" 
       android:paddingRight="@dimen/activity_horizontal_margin" 
       android:paddingTop="@dimen/activity_vertical_margin" 
       tools:context="com.close.close.AboutActivity" 
       android:orientation="horizontal"> 


    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="28dp" 
     android:gravity="center_horizontal" 
     android:text="@string/welcome" 
     android:textColor="#FFFFFF" 
     android:textSize="37sp"/> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="80dp" 
     android:gravity="center_horizontal" 
     android:text="@string/to" 
     android:textColor="#FFFFFF" 
     android:textSize="37sp"/> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="128dp" 
     android:gravity="center_horizontal" 
     android:text="@string/close" 
     android:textColor="#FFFFFF" 
     android:textSize="37sp"/> 
    <TextView 
     android:id="@+id/textView4" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="189dp" 
     android:gravity="center_horizontal" 
     android:text="@string/about" 
     android:textColor="#FFFFFF" 
     android:textSize="18sp"/> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:paddingTop="50dp" 
     android:weightSum="1" 
     android:layout_marginStart="164dp" 
     android:layout_below="@+id/textView4" 
     android:layout_alignParentStart="true"> 


    </LinearLayout> 


    <com.digits.sdk.android.DigitsAuthButton 
     android:id="@+id/auth_button" 
     android:layout_width="148dp" 
     android:layout_height="48dp" 
     android:background="@drawable/dgts__digits_btn" 
     android:orientation="vertical" 
     android:layout_marginTop="54dp" 
     android:layout_below="@+id/textView4" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true"/> 


</RelativeLayout> 
+0

你看了錯誤信息?它會告訴你如何解決問題。你不明白哪部分信息?我們很樂意幫助澄清。 –

+0

見https://stackoverflow.com/questions/21814825/you-need-to-use-a-theme-appcompat-theme-or-descendant-with-this-activity回答你的問題。請注意,如果你只是在谷歌錯誤消息,你會發現這更快。 –

回答

1

更改此

public class AboutActivity extends AppCompatActivity { 

這個

public class AboutActivity extends Activity { 
+0

錯誤消息顯示'您需要使用Theme.AppCompat主題(或後代)進行此活動。「您確定您的答案能夠解決此問題嗎? –

+0

是的,這就是我發佈答案的原因 –

+1

可能有一個很好的理由使用AppCompatActivity。該解決方案實際上並未解決錯誤中提到的問題。 –

相關問題