Я хочу к изображениям на дисплее в единственном выборе, когда это появляется в диалоговом окне.
сопроводительный текст http://www.freeimagehosting.net/uploads/bfb1c90d61.png
Как я могу сделать это?
Вот вам рабочее решение. Не мой, но я использовал описанную технику, и она сработала. Не забываем про img.setBounds () , это необходимо!
http://mgmblog.com/2010/06/10/arrayadapter-and-alertdialog-for-single-choice-items/
PS: исходный пост не отображает радиокнопку, но мой макет отображает. Мой однострочный XML-файл макета (в примере отсутствует animal_row.xml) находится здесь:
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/miastorow_text"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
android:paddingLeft="6dip"
android:paddingRight="6dip"
android:textColor="#000"
/>
Вы можете переопределить все и создать с нуля. Сначала создайте xml, описывающий желаемый контент. Например:
<!-- test.xml -->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white">
<ImageView android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/facebook"></ImageView>
<TextView android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/ImageView01"
android:text="Facebook"
android:textSize="40sp"></TextView>
<RadioButton android:id="@+id/RadioButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/TextView01"></RadioButton>
</RelativeLayout>
Затем создайте этот xml с помощью диалогового окна предупреждения. Вы можете позволить действию обрабатывать ваш диалог и просто переопределить onCreateDialog следующим образом:
@Override
protected Dialog onCreateDialog(int id) {
View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.test, null);
return new AlertDialog.Builder(MainActivity.this).setView(view).setTitle("Share")
.create();
}
Затем вы можете переопределить onClick, чтобы сохранить состояние в ваших файлах StaticPreferences. Таким образом, у вас будет полный контроль над всеми элементами в вашем представлении.
И последний совет: при создании xml убедитесь, что вы создаете как можно более плоский макет, чтобы код был оптимизирован. Вы также можете поиграть с макетом списка, чтобы создать что-то вроде этого.
Я не работал над этим. Но у меня есть идея объединить три примера на API Demos.
шаги, которые вам нужно сделать:
Код примера:
new AlertDialog.Builder(MainActivity.this).setTitle("Share")setAdapter(new Listadapterclass(),new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface arg0,
int arg1) {
// TODO Auto-generated method stub
// the click event on the list item selected
}})
.create();
Надеюсь, он работает.