Android - Exécution d'une coutume listview dans un dialogue personnalisé correctement

J'ai une application dans laquelle je veux afficher une liste personnalisée de vue, composé de deux textViews à l'intérieur d'une boîte de dialogue personnalisée sous android. Jusqu'à présent, je vais avoir un moment difficile essayer de comprendre comment connecter les deux et de générer le contenu de la boîte de dialogue.

J'ai essayé de suivre la coutume listView tutoriels avec l'espoir de juste réglage de la boîte de dialogue de l'adaptateur, mais en vain.

Jusqu'à présent, c'est ce que j'ai à ce jour:

C'est list_row_dialog.xml la mise en page de la ligne contenant deux textviews:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:minHeight="50dp"
    android:orientation="horizontal"
    android:padding="5dip" >

<TextView
    android:id="@+id/unit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textStyle="bold"
    android:typeface="sans" />

<TextView
    android:id="@+id/quantity"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:textColor="#343434"
    android:textSize="12sp" />

</RelativeLayout>

Et voici le dialog_main.xml fichier, le fichier de mise en page que je veux la boîte de dialogue à utiliser, il s'agit essentiellement d'une listView.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<ListView
    android:id="@+id/custom_list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:dividerHeight="1dp" />

</LinearLayout>

Et voici CustomListAdapterDialog.java je ne suis pas sûr si j'ai même plus besoin de l'utiliser pour afficher les données dans la boîte de dialogue:

public class CustomListAdapterDialog extends BaseAdapter {

private ArrayList<ItemClass> listData;

private LayoutInflater layoutInflater;

public CustomListAdapterDialog(Context context, ArrayList<ItemClass> listData) {
    this.listData = listData;
    layoutInflater = LayoutInflater.from(context);
}

@Override
public int getCount() {
    return listData.size();
}

@Override
public Object getItem(int position) {
    return listData.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
        convertView = layoutInflater.inflate(R.layout.list_row_dialog, null);
        holder = new ViewHolder();
        holder.unitView = (TextView) convertView.findViewById(R.id.unit);
        holder.quantityView = (TextView) convertView.findViewById(R.id.quantity);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    holder.unitView.setText(listData.get(position).getVariant().toString());
    holder.quantityView.setText(listData.get(position).getUnit().toString());

    return convertView;
}

static class ViewHolder {
    TextView unitView;
    TextView quantityView;
}

}

D'abord, j'ai essayé ce code pour afficher la boîte de dialogue:

private void showDialog(){
    final Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.dialog_main);


    dialog.show();
}

Mais il ne montre, une ligne vide, il est très clair que je ne suis pas l'alimenter correctement.

Toutes les idées de quelqu'un? Aussi, je peux remplir les boîtes de dialogue dans la showDialog() fonction puisque j'ai aussi les données que je veux remplir avec dans la même classe java.

OriginalL'auteur Razgriz | 2013-07-29