Chcę wyświetlać obrazy wewnątrz pojedynczego wyboru, gdy pojawi się w oknie dialogowym.obraz z Androidem wewnątrz pojedynczego wybierz
alt text http://www.freeimagehosting.net/uploads/bfb1c90d61.png
Jak mogę to zrobić?
Chcę wyświetlać obrazy wewnątrz pojedynczego wyboru, gdy pojawi się w oknie dialogowym.obraz z Androidem wewnątrz pojedynczego wybierz
alt text http://www.freeimagehosting.net/uploads/bfb1c90d61.png
Jak mogę to zrobić?
Tutaj masz działające rozwiązanie. Nie moja, ale użyłem opisanej techniki i zadziałało. Nie zapomnij o img.setBounds(), jest to konieczne!
http://mgmblog.com/2010/06/10/arrayadapter-and-alertdialog-for-single-choice-items/
PS: oryginalny post nie wyświetla radiobutton, ale mój układ ma. Mój plik XML układ pojedynczy wiersz (animal_row.xml brakuje w przykładzie) jest tutaj:
<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"
/>
Wszystko można przesłonić i utworzyć od podstaw. Najpierw utwórz xml opisujący żądaną treść. Na przykład:
<!-- 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>
Następnie skompiluj ten plik XML za pomocą okna dialogowego alertu. Możesz pozwolić aktywność obsługiwać okno i po prostu zastąpić onCreateDialog tak:
@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();
}
można następnie zastąpić onClick do przechowywania stanu w plikach StaticPreferences. W ten sposób będziesz mieć pełną kontrolę nad wszystkimi elementami w swoim widoku.
Jedna ostatnia rada podczas tworzenia pliku xml zapewnia optymalny układ, aby kod był zoptymalizowany. Możesz także grać z układem listy, aby stworzyć coś takiego.
Zła odpowiedź, moim układ pytanie wzmianki w układzie xml robicie radiobutton sub dziecko układzie względnym, dzięki czemu przełącznik dziecko innych niż grupy radiologiczne nie działa. W takim przypadku odpowiedź nie powiedzie się. –
@Faisal khan: Po prostu dawał przykład. – Macarse
Nie pracowałem nad tym. Ale mam pomysł, aby połączyć trzy przykłady na demo API.
kroki trzeba zrobić to:
Przykładowy kod:
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();
nadzieję, że to działa.
nie działa, ponieważ mamy przycisk radiowy pracujący w jednej grupie z inflatem –
niesamowite, dziękuję. –