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
Vous devez vous connecter pour publier un commentaire.
ajouter ceci dans le CuacaNowActivity.java
MODIFIER
D'abord ajouter un élément dans
res/menu/main.xml
fichier à afficher dans le menu je suis ajoutant dessettings
iciex:
main.xml
puis dans votre code d'activité:
quelle est la fonction de Setting.class dans votre exemple?
Mon problème est résolu bro, ici j'ai eu la solution (stackoverflow.com/questions/10610291/...)
OriginalL'auteur Shiv
Pour
ListView
,onClickListener
ne fonctionnera pas, vous avez besoin pour mettre en œuvreOnItemClickListener
OriginalL'auteur Lucifer
Utiliser Sur l'Élément, Cliquez sur listner:
Essayez ceci dans le onCreate() de
CuacaNowActivity
Si votre listview contient seulement cinq éléments?
Oui, donc j'ai besoin de cinq classes pour cette liste mais je ne sais pas comment l'envoyer à une autre Activité lorsque je clique sur l'une de menu
Simple. Dans OnItemClickListener, vous obtiendrez la poste, Basé sur la position d'appel à l'activité, vous avez besoin
il fonctionne lorsque je mettre en œuvre OnItemClickListener, mais quand on clique sur le menu de Bantul il n'ira pas à BantulActivity en fait mon application d'affichage YogyakartaActivity et lorsque je clique sur le Bouton de retour sur émulateur, il va montrer une autre activité jusqu'à cinq de l'activité que j'ai créé affiché, puis j'ai été en mesure de retourner à ListMenu Vue
OriginalL'auteur Abhi