在最近学习的了解android活动的新项目里,我新开了两个按钮,从而来调用normalActivity和DialogActivity,但是在实际运行过程中我发现DialogActivity会导致应用闪退,并且有错误提示

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity
最后上网找了一番才发现,有两种方法

方法一:将继承改为Activity

public class DialogActivity extends Activity {

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

这应该是很多人选择的常用做法,但是由于现在的Activity默认都是继承于AppCompatActivity的,所以我打算不做更改采用第二种方法

方法二:修改Theme样式

<activity android:name=".DialogActivity"
            android:theme="@android:style/Theme.Dialog" >
        </activity>

最后就没问题了


一只蠢莫