comment ajouter personnalisé, mise en page de Arrayadapter?

Je suis en train de créer un ListView avec mise en page personnalisée. chaque élément de la listView devrait ressembler comme indiqué dans le item.xml posté ci-dessous.

dans le code, j'ai utilisé

adapter = new ArrayAdapter<T>(getApplicationContext(), R.layout.listi_tems_layout, topicsList);

mais il ne fonctionne pas parce que le constructeur de la ArrayAdapter<T> accepte la deuxième paramètre comme int quelque chose comme

android.R.layout.simple_list_item_1

et dans mon cas, c'est la mise en page personnalisée qui est

R.layout.listi_tems_layout

quelle carte dois-je utiliser ou comment résoudre ce problème. grâce

Élément:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">

<TextView 
    android:id="@+id/tvlist_topic"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"/>
<ImageView 
    android:id="@+id/ivList_delete"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:src="@drawable/delete_icon"
    android:contentDescription="icon to delete item from the Listview"
    android:layout_weight="1"/>
<CheckBox 
    android:id="@+id/cbList_hook"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:checked="false"
    android:layout_weight="1"/>

mainlayout:

<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"
tools:context="${relativePackage}.${activityClass}" >
....
....
....

<ListView 
    android:id="@+id/lvEco_topics"
    android:layout_width="match_parent"
    android:layout_height="470dp"
    android:layout_below="@id/tvEco_topic"
    android:layout_marginTop="30dp"
    android:scrollbars="vertical"
    android:divider="@android:drawable/alert_light_frame"></ListView>
<Button 
    android:id="@+id/btEco_save"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/lvEco_topics"
    android:gravity="center"
    android:text="Save"/>

code:

public class MainActivity extends Activity {

private ArrayList<String> topicsList;
private ListAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    topicsList = new ArrayList<String>();
    topicsList.add("topic1");
    topicsList.add("topic2");
    topicsList.add("topic3");
    topicsList.add("topic4");
    topicsList.add("topic5");
    topicsList.add("topic6");

    adapter = new ArrayAdapter<T>(getApplicationContext(), R.layout.listi_tems_layout, topicsList);
ce problème à l'aide de adapter = new ArrayAdapter<T>(getApplicationContext(), R.layout.listi_tems_layout, topicsList); ?
le problème que je reçois est de 2 le constructeur n'est pas défini"
j'ai essayé ta suggestion, mais je reçois un warnin dit 2Type de sécurité: Le constructeur ArrayAdapter(Contexte, int, List) appartient à la crue de type ArrayAdapter. Références de type générique ArrayAdapter<T> doit être paramétrée"
créer adaptateur ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, R.layout.listi_tems_layout, topicsList); et voir ma réponse pour les autres changements

OriginalL'auteur rmaik | 2015-01-28