Comment définir OnClickListener dans Listview pour l'envoyer à une autre activité

Je suis en train de faire une application android qui utilise listview, j'ai un problème où mettre OnClickListener dans la liste que j'ai créée dans le but d'aller vers une autre activité, mais je n'ai pas trouvé de solution. Voici mon code.

CuacaNowActivity.java

public class CuacaNowActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {

    ListView listViewKab;

    super.onCreate(savedInstanceState);
    setTitle("Jogja Now");
    setContentView(R.layout.cuacanow);

    KabupatenNow weather_data[] = new KabupatenNow[]{
        new KabupatenNow(R.drawable.ic_bantul, "Bantul"),
        new KabupatenNow(R.drawable.ic_gunungkidul, "Wonosari"),
        new KabupatenNow(R.drawable.ic_kulonprogo, "Wates"),
        new KabupatenNow(R.drawable.ic_sleman, "Sleman"),
        new KabupatenNow(R.drawable.ic_yogyakarta, "Yogyakarta")
    };

    KabupatenAdapter adapter = new KabupatenAdapter(this, R.layout.listkabupaten_row, weather_data);
    listViewKab = (ListView) findViewById(R.id.listViewKab);
    View header = (View) getLayoutInflater().inflate(R.layout.listviewheader, null);
    listViewKab.addHeaderView(header);
    listViewKab.setAdapter(adapter);
}
}

KabupatenAdapter.java

public class KabupatenAdapter extends ArrayAdapter<KabupatenNow>{
Context context;
int layoutResourceId;
    KabupatenNow data[] = null;
    public KabupatenAdapter(Context context, int layoutResourceId, KabupatenNow[] data) {
        super (context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }

    //Viewing list Kabupaten in Yogyakarta with image in ListView
    public View getView (int position, View convertView, ViewGroup parent){
        View row = convertView;
        WeatherHolder holder = null;

        if (row == null)
        {
            LayoutInflater inflater = ((Activity)context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);

            holder = new WeatherHolder();
            holder.imgKabupaten = (ImageView) row.findViewById(R.id.imgKabupaten);
            holder.txtTitle = (TextView) row.findViewById(R.id.txtTitle);

            row.setTag(holder);
        }else{
            holder = (WeatherHolder) row.getTag();
        }

        KabupatenNow weather = data[position];
        holder.txtTitle.setText(weather.title);
        holder.imgKabupaten.setImageResource(weather.icon);
        return row;
    }

    static class WeatherHolder {
        ImageView imgKabupaten;
        TextView txtTitle;
    }
}

KabupatenNow

public class KabupatenNow {

        public int icon;
        public String title;
        public KabupatenNow(){
            super();
        }

        public KabupatenNow(int icon, String title) {
            super();
            this.icon = icon;
            this.title = title;
        }
}

et voici le code xml

cuacanow.xml

<?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:background="@drawable/ic_background"
android:orientation="vertical" >

<ListView
    android:id="@+id/listViewKab"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:cacheColorHint="#00000000" >
</ListView>

</LinearLayout>

listviewheader.xml

<?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="match_parent"
android:orientation="horizontal" >

<TextView
    android:id="@+id/txtHeader"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    android:background="#8B0000"
    android:gravity="center_vertical"
    android:padding="10dp"
    android:text="Cuaca Kabupaten"
    android:textColor="#FFFFFF"
    android:textSize="22dp"
    android:textStyle="bold" />

</LinearLayout>

listkabupaten_row.xml

<?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="match_parent"
android:orientation="horizontal" >

<ImageView
    android:id="@+id/imgKabupaten"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    android:layout_marginBottom="5dp"
    android:layout_marginRight="15dp"
    android:layout_marginTop="5dp"
    android:gravity="center_vertical" />

<TextView
    android:id="@+id/txtTitle"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:gravity="center_vertical"
    android:textColor="#000000"
    android:textSize="22dp"
    android:textStyle="bold" />

</LinearLayout>

listview est un travail correctement, mais ce que je veux, c'est quand je clique sur le menu de Bantul il ira à BantulActivity ainsi que Wonosari et les autres. Puis-je mettre en œuvre mon projet de ce genre? Ou peut-être une suggestion pour mon projet?

OriginalL'auteur endhare | 2013-04-19