我需要一个包含城市的列表视图以及其面积计数(IE( 班加罗尔(10(德里(5(孟买(15(一一ost。 在每个城市上关注我需要另一个列表视图,其中包含这些区域以及该区域的商店数量。(即,如果我单击班加罗尔,它将显示10个区域的列表视图以及每个区域中的商店数量。...(ex((区域1(10(区域2(20(区域3(25(likethis ..
帮助我使用要显示的示例代码(listView和text( OnItemClick在另一个(listView和text(上。 带有括号的文字((示例::班加罗尔(10(
我已附加了我的代码:
textListViewActivity ::
public class TextListViewActivity extends Activity implements
OnItemClickListener {
int chn_len,mum_len,cal_len;
String[] city;
String[] descriptions;
ListView listView1;
List<RowItem> rowItems1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
city = getResources().getStringArray(R.array.city_array);
chn_len=getResources().getStringArray(R.array.area_chennai).length;
mum_len=getResources().getStringArray(R.array.area_mumbai).length;
cal_len=getResources().getStringArray(R.array.area_calcutta).length;
descriptions = new String[] {String.valueOf(chn_len),String.valueOf(mum_len),String.valueOf(cal_len)};
rowItems1 = new ArrayList<RowItem>();
for (int i = 0; i < city.length; i++) {
RowItem item = new RowItem(city[i], descriptions[i]);
rowItems1.add(item);
}
listView1 = (ListView) findViewById(R.id.list);
CustomListViewAdapter adapter1 = new CustomListViewAdapter(this,
R.layout.list_item, rowItems1);
listView1.setAdapter(adapter1);
listView1.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
}
}
CustomListViewAdapter ::
public class CustomListViewAdapter extends ArrayAdapter<RowItem> {
Context context;
public CustomListViewAdapter(Context context, int resourceId,
List<RowItem> items) {
super(context, resourceId, items);
this.context = context;
}
/*private view holder class*/
private class ViewHolder {
//ImageView imageView;
TextView txtTitle1;
TextView txtDesc1;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
RowItem rowItem = getItem(position);
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.txtDesc1 = (TextView) convertView.findViewById(R.id.desc);
holder.txtTitle1 = (TextView) convertView.findViewById(R.id.title);
// holder.imageView = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);
} else
holder = (ViewHolder) convertView.getTag();
holder.txtDesc1.setText(rowItem.getDesc());
holder.txtTitle1.setText(rowItem.getTitle());
// holder.imageView.setImageResource(rowItem.getImageId());
return convertView;
}
}
RowItem:
public class RowItem {
// private int imageId;
private String title;
private String desc;
public RowItem(String title, String desc) {
// this.imageId = imageId;
this.title = title;
this.desc = desc;
}
/* public int getImageId() {
return imageId;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}*/
public String getDesc() {
return desc;
}
public void setDesc(String desc1) {
this.desc = desc1;
}
public String getTitle() {
return title;
}
public void setTitle(String title1) {
this.title = title;
}
@Override
public String toString() {
return title + "n" + desc;
}
}
textListViewActivity ::
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Bundle bundle = new Bundle();
bundle.putSerializable("object", rowItems1.get(position));
Intent intent = new Intent(TextListViewActivity .this,TextListViewDetailActivity.class);
intent.putExtra("bundle",bundle);
startActivity(intent);
}
textListViewDetailActivity ::
从意图中获取城市数据,如下所示。
Bundle bundle = getIntent().getBundleExtra("bundle");
if (bundle != null) {
RowItem model = (RowItem) bundle.getSerializable("object");
}
在模型中,您将拥有城市数据。使用它来获取区域数据并在ListView中填充它。
RowItem:
public class RowItem implements Serializable {
....
}
只需添加可序列化的实现序列化。