Intereting Posts
Org.json.JSONArray не может быть преобразован в JSONObject (Population spinner из webservice) Переход Android с GCM на однонаправленное push-уведомление Android: войдите на сайт и сохраните сеанс / файл cookie, используя DefaultHttpClient Библиотека Пикассо перестала работать сегодня с графическими ссылками на facebook Android WebView: методы активности вызова формируют интерфейс JavaScript Как обрабатывать параметры, которые могут быть ARRAY или OBJECT в Retrofit на Android? Могу ли я использовать iBeacon в Android с близкими сообщениями? Как я могу получить доступ к значению BuildConfig в моем файле AndroidManifest.xml? Удаление панели состояния Android в графическом макете Eclipse Как запустить Google Play в режиме «Отправить отзыв» на Android? Заменить getMap с помощью getMapAsync Android: Как настроить навигацию по настройкам, например, Некоторые компоненты Android SDK не хотят устанавливать. Почему? Получение фотографии из контакта Получение квадратных изображений, таких как приложение gmail

ClassCastException: android.support.v7.widget.LinearLayoutCompat $ LayoutParams нельзя отбрасывать в android.widget.LinearLayout $ LayoutParams

Я создал диалог оповещения с пользовательским макетом, он работает нормально, но когда я пытаюсь установить элемент одного выбора в alertDialogBuilder, он дает ClassCastException: android.support.v7.widget.LinearLayoutCompat$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams Ошибка ClassCastException: android.support.v7.widget.LinearLayoutCompat$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

  View viewDialog = LayoutInflater.from(this).inflate(R.layout.dialog_verify, null,false); alertDialogBuilder.setView(viewDialog); final TextView tvDialogTitle = (TextView) viewDialog.findViewById(R.id.dialog_textview_title); final Button btnCancel = (Button) viewDialog.findViewById(R.id.dialog_btn_cancel); final Button btnVerify = (Button) viewDialog.findViewById(R.id.dialog_btn_verify); btnCancel.setVisibility(View.GONE); btnVerify.setText("cancel"); btnVerify.setTextColor(ContextCompat.getColor(this, R.color.colorPrimary)); btnVerify.setBackgroundResource(R.drawable.round_white); //set single layout structure alertDialogBuilder.setSingleChoiceItems(arrayReportType, selectedIndex, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { selectedIndex=which; tvReportStatus.setText(arrayReportType[selectedIndex]); dialog.dismiss(); } }); alertDialogBuilder.setCancelable(true); Typeface font_bold = Typeface.createFromAsset(getAssets(), Constants.FONT_BOLD); tvDialogTitle.setTypeface(font_bold); tvDialogTitle.setText("Summary"); final AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show(); 

UPDATE: XML FILE, из которого я раздуваю диалоговое окно alert

  <TextView android:id="@+id/dialog_textview_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:layout_marginBottom="20dp"/> <LinearLayout android:id="@+id/dialog_ll_buttons" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingLeft="15dp" android:paddingRight="15dp"> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"> <Button android:fontFamily="sans-serif-light" android:id="@+id/dialog_btn_cancel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="16dp" android:background="@drawable/round_white" android:text="Cancel" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/colorAccent" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"> <Button android:fontFamily="sans-serif-light" android:id="@+id/dialog_btn_verify" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="16dp" android:background="@drawable/round_blue" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/white" /> </LinearLayout> </LinearLayout> 

Импорт, связанный с вопросом

 import android.app.TimePickerDialog; import android.content.DialogInterface; import android.graphics.Typeface; import android.os.Bundle; import android.support.design.widget.CoordinatorLayout; import android.support.design.widget.Snackbar; import android.support.v4.content.ContextCompat; import android.support.v7.app.ActionBar; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.TimePicker; import org.json.JSONException; import org.json.JSONObject; 

ClassCastException

Брошено, чтобы указать, что код попытался передать объект в подкласс, экземпляром которого он не является.

не

 import android.support.v7.app.AlertDialog; 

ДЕЛАТЬ

 import android.app.AlertDialog 

ЗАМЕТКА

Вы являетесь библиотекой support.v7 . Позвоните в родную библиотеку .

@ Zordid правильно. Это ошибка в AOSP при использовании Support Library 25. Попробуйте использовать другую версию библиотеки поддержки или дождитесь исправления. В проблеме AOSP также есть обходные пути.

Ссылка на вопрос AOSP

Существует новая версия библиотеки поддержки 25.4.0, которая устраняет эту проблему.

Поскольку эта библиотека только что была выпущена, убедитесь, что раздел репозитория включает раздел maven с https://maven.google.com , например

  allprojects { repositories { jcenter() maven { url "https://maven.google.com" } } 

}