我有這個實現的問題。不使用火力的UI執行,如可以在代碼1可以看出,運行完美實現firebase-ui和appcompat引發「requestFeature()必須在添加內容之前調用」
如果啓用火力的UI如圖代碼2,它在執行產生一個錯誤的GetWindow
代碼1:
public class MainActivity extends Activity {
//private Firebase mFirebaseRef;
private ImageButton buttonMostrar;
private ImageButton buttonMostrarJirafa;
private ImageButton buttonMostrarPanda;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Firebase.setAndroidContext(this);
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
setContentView(R.layout.activity_main);
...
代碼2
個public class MainActivity extends FirebaseLoginBaseActivity {
private Firebase mFirebaseRef;
private ImageButton buttonMostrar;
private ImageButton buttonMostrarJirafa;
private ImageButton buttonMostrarPanda;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(this);
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
setContentView(R.layout.activity_main);
...
依賴關係:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.firebase:firebase-client-android:2.3.1'
compile 'com.firebaseui:firebase-ui:0.3.1'
compile 'com.android.support:cardview-v7:23.1.1'
}
錯誤:
02-12 20:12:05.735 29271-29277/com.desarrollandolatam.nbortolotti.mobileacademialatam
E/art: Failed sending reply to debugger: Broken pipe 02-12 20:12:06.039 29271-29271/com.desarrollandolatam.nbortolotti.mobileacademialatam E/AndroidRuntime: FATAL EXCEPTION: main Process: com.desarrollandolatam.nbortolotti.mobileacademialatam, PID: 29271 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.desarrollandolatam.nbortolotti.mobileacademialatam/com.desarrollandolatam.nbortolotti.mobileacademialatam.MainActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content at com.android.internal.policy.PhoneWindow.requestFeature(PhoneWindow.java:317) at com.desarrollandolatam.nbortolotti.mobileacademialatam.MainActivity.onCreate(MainActivity.java:35) at android.app.Activity.performCreate(Activity.java:6251) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
注:與火力的UI整合獨自完美的作品。
¿想法?
修飾:
@Override
protected void onCreate(Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_CONTENT_TRANSITIONS);
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(this);
//getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
setContentView(R.layout.activity_main);
現在誤差超過的setContentView(R.layout.activity_main);
佈局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollGeneral">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/linear_general">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:id="@+id/login" />
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view_tigre"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="300dp"
card_view:cardCornerRadius="4dp">
<ImageView android:contentDescription="@string/descripcionTigre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType = "centerCrop"
android:id="@+id/imagenTigre"
android:layout_marginBottom="16dp"
android:background="@drawable/tigre_10">
</ImageView>
<ImageButton
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="bottom|end"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:text="@string/valor_accion"
android:id="@+id/buttonMostrar"
android:layout_below="@+id/textNombre"
android:contentDescription="@string/descripcionTigre"
android:src="@drawable/icon40x40">
</ImageButton>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view_jirafa"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="300dp"
card_view:cardCornerRadius="4dp"
>
<ImageView android:contentDescription="@string/descripcionJirafa"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType = "centerCrop"
android:id="@+id/imagenJirafa"
android:layout_marginBottom="16dp"
android:background="@drawable/jirafa_10">
</ImageView>
<ImageButton
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="bottom|end"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:text="@string/valor_accion_jirafa"
android:id="@+id/buttonMostrarJirafa"
android:layout_below="@+id/textNombre"
android:layout_alignParentStart="true"
android:contentDescription="@string/descripcionJirafa"
android:src="@drawable/icon40x40"/>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view_oso"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="300dp"
card_view:cardCornerRadius="4dp">
<ImageView android:contentDescription="@string/descripcionJirafa"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType = "centerCrop"
android:id="@+id/imagenOso"
android:layout_marginBottom="16dp"
android:background="@drawable/panda">
</ImageView>
<ImageButton
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="bottom|end"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:text="@string/valor_accion_panda"
android:id="@+id/buttonMostrarPanda"
android:layout_below="@+id/textNombrePanda"
android:layout_alignParentStart="true"
android:contentDescription="@string/descripcionPanda"
android:src="@drawable/icon40x40"/>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view_elefante"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="200dp"
card_view:cardCornerRadius="4dp">
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/valor_accion_elefante"
android:id="@+id/buttonMostrarElefante"
android:layout_below="@+id/textNombre"
android:layout_alignParentStart="true"
android:contentDescription="@string/descripcionElefante" />
</android.support.v7.widget.CardView>
</LinearLayout>
錯誤:
02-12 21:00:05.780 23785-23785/com.desarrollandolatam.nbortolotti.mobileacademialatam E/AndroidRuntime: FATAL EXCEPTION: main Process: com.desarrollandolatam.nbortolotti.mobileacademialatam, PID: 23785 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.desarrollandolatam.nbortolotti.mobileacademialatam/com.desarrollandolatam.nbortolotti.mobileacademialatam.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.support.v7.app.AppCompatDelegateImplBase.onCreate(AppCompatDelegateImplBase.java:124) at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:146) at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:59) at com.desarrollandolatam.nbortolotti.mobileacademialatam.MainActivity.onCreate(MainActivity.java:32) at android.app.Activity.performCreate(Activity.java:6251) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
修正一個錯誤:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
重建和作品!
感謝伊恩! ...我改變了代碼,但現在我有其他錯誤到setContentView(R.layout.activity_main),我將修改和佈局留在主帖子中。 –
您是否嘗試過搜尋新的錯誤訊息?在這一點上,這是一個完全不同的問題(已經解決了很多次)。 – ianhanniballake
是的,但恐怕問題來自「..extends FirebaseLoginBaseActivity」我們可以放棄,對吧? –