SetTitle для AppCompatDialog не работает

Я пытаюсь использовать новую AppCompat 22.1 функцию AppCompatDialog , но он показывает мне диалог без заголовка, но я использую метод setTitle . Если я изменю AppCompatDialog на Dialog все будет работать нормально. Это ошибка в AppCompatDialog ?

Вот мой код диалога:

 final AppCompatDialog dialog = new AppCompatDialog(ctx); dialog.setTitle(R.string.choose_mode); dialog.setContentView(R.layout.dialog_with_list); ListView listView = (ListView) dialog.findViewById(R.id.list_view); List<ModeItemModel> modesList = new ArrayList<ModeItemModel>(); modesList.add(new ModeItemModel(GUI_MANUAL)); modesList.add(new ModeItemModel(GUI_GPS)); listView.setAdapter(new ModeItemsAdapter(ctx, R.layout.list_item_ico_with_text, modesList)); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { //Do Action dialog.cancel(); } }); dialog.setCancelable(true); dialog.show(); 

Как отметил @Eddwhis в комментариях выше, <item name="windowNoTitle">true</item> в теме также скрывает заголовок диалога. Я исправил это, добавив собственный AppCompatDialgStyle, в котором я установил <item name="windowNoTitle">false</item> значение false.

Основная тема:

 <style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar,"> ... <item name="alertDialogTheme">@style/Theme.App.AppCompatDialogStyle</item> <item name="dialogTheme">@style/Theme.App.AppCompatDialogStyle</item> </style> 

NoActionBar Тема:

 <style name="Theme.App.NoActionBar" parent="@style/Theme.App.Base"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> 

Стиль моего диалога:

 <style name="Theme.App.AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog"> <item name="colorAccent">#f00</item> <item name="android:textColorPrimary">@color/black</item> <item name="android:background">@color/red</item> <item name="windowNoTitle">false</item> <!-- that's the important bit --> </style> 

Этот код работал для меня

Мероприятия

 public class MyActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); final AppCompatDialog dialog = new AppCompatDialog(this); dialog.setTitle("Hello For Dialog"); dialog.setContentView(R.layout.dialog_nm); // ListView listView = (ListView) dialog.findViewById(R.id.list_view); // // List<ModeItemModel> modesList = new ArrayList<ModeItemModel>(); // modesList.add(new ModeItemModel(GUI_MANUAL)); // modesList.add(new ModeItemModel(GUI_GPS)); // listView.setAdapter(new ModeItemsAdapter(ctx, R.layout.list_item_ico_with_text, modesList)); // listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { // // @Override // public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { // //Do Action // // dialog.cancel(); // } // }); dialog.setCancelable(true); dialog.show(); } } 

activity_my.xml

 <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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".My"> <TextView android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout> 

Диалоговое расположение xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:gravity="center" android:background="@android:color/white" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Your message" android:id="@+id/textView" android:layout_gravity="center_horizontal"/> </LinearLayout> 

styles.xml

 <resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> </resources>