嗨,当我从列表视图中单击项目时,我想要的带有列表活动的自定义列表视图有问题,然后新的活动将开始。
实体
package com.custom.listview;
public class EntitasRestoran {
String namaresto = "";
String alamatresto = "";
int pic;
public String getNamaResto() {
return namaresto;
}
public void setNamaResto(String n) {
this.namaresto = n;
}
public String getAlamatResto() {
return alamatresto;
}
public void setAlamatResto(String a) {
this.alamatresto = a;
}
public int getPicResto() {
return pic;
}
public void setPicResto(int p) {
this.pic = p;
}
}
自定义适配器
package com.custom.listview;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomBaseAdapter extends BaseAdapter {
private static ArrayList<EntitasRestoran> restoran;
private LayoutInflater mInflater;
public CustomBaseAdapter(Context context, ArrayList<EntitasRestoran> res) {
restoran = res;
mInflater = LayoutInflater.from(context);
}
public int getCount() {
return restoran.size();
}
public Object getItem(int position) {
return restoran.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater
.inflate(R.layout.custom_item_listview, null);
holder = new ViewHolder();
holder.nama = (TextView) convertView
.findViewById(R.id.namarestoran);
holder.alamat = (TextView) convertView
.findViewById(R.id.alamatrestoran);
holder.im = (ImageView) convertView.findViewById(R.id.img);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.nama.setText(restoran.get(position).getNamaResto());
holder.alamat.setText(restoran.get(position).getAlamatResto());
holder.im.setBackgroundResource(restoran.get(position).getPicResto());
return convertView;
}
static class ViewHolder {
TextView nama;
TextView alamat;
ImageView im;
}
}
主要活动
package com.custom.listview;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView lv;
ArrayList<EntitasRestoran> restoran = new ArrayList<EntitasRestoran>();
EntitasRestoran entitasrestoran;
String[] arrayRestoran = { "Kare Ayam", "Spesial Sambal", "Waroeng Steak",
"Hoka Bento" };
String[] arrayAlamat = { "Jalan Kartini", "Jalan Bimo", "Jalan Arjuno",
"Jalan Merdeka" };
int[] ArrayPicRestoran = { R.drawable.kareayam, R.drawable.ss,
R.drawable.ws, R.drawable.hokben };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.listView1);
for (int i = 0; i < arrayRestoran.length; i++) {
entitasrestoran = new EntitasRestoran();
entitasrestoran.setNamaResto(arrayRestoran[i]);
entitasrestoran.setAlamatResto(arrayAlamat[i]);
entitasrestoran.setPicResto(ArrayPicRestoran[i]);
restoran.add(entitasrestoran);
}
CustomBaseAdapter custom = new CustomBaseAdapter(this, restoran);
lv.setAdapter(custom);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
当我单击该列表视图时,将显示新活动