Ich habe eine Activity
, die ActionBarActivity
erweitert. Jedes Mal, wenn ich versuche, ein AlertDialog
darin zu erstellen, stürzt an der der Zeile, in Dialog erstellt gibt diesen FehlerUnable erstellen alertDialog in ActionBarActivity
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
Aber ich bin schon mit Appcompat
Thema Theme.AppCompat.Light.NoActionBar
, wie ich bin mit Symbolleiste. Was könnte der Grund dafür sein? Hier ist meine Tätigkeit:
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
public class MyActivity extends ActionBarActivity {
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_comments);
toolbar = (Toolbar)findViewById(R.id.tool_bar_comment);
setSupportActionBar(toolbar);
AlertDialog alertDialog;
alertDialog = new AlertDialog.Builder(getApplicationContext()).create();
alertDialog.setTitle("Network error");
alertDialog.setMessage("Check network connection and try again.");
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
alertDialog.show();
}
}
Hier ist mein Mainfest-Datei:
<application
android:name=".Networking.AppController"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
...
<activity
android:name=".MyActivity"
android:label="@string/myactivity"
>
</activity>
</application>
und hier ist der styles.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
</style>
das android:theme
Attribut auf die Aktivität Hinzufügen in MainFest hat überhaupt nicht geholfen.
<activity
android:name=".MyActivity"
android:label="@string/myactivity"
android:theme="@style/Theme.AppCompat.NoActionBar"
>
möglich Duplikat [Sie benötigen ein Theme.AppCompat Thema (oder Nachkommen) zu verwenden, mit diese Aktivität] (http://stackoverflow.com/questions/21814825/you-need-to-use-a-theme-appcompat-theme-oder-descendant-with-thisactivity) –
Sie müssen nicht verwenden android: theme = "@ style/Theme.AppCompat.NoActionBar" einfach android: theme = "@ style/AppTheme" – arjunkn