- Code: Select all
package com.yysiow.clubmarc;
import java.util.ArrayList;
import java.util.Map;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.Log;
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 IconSimpleAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private ArrayList<Map<String, Object>> mList;
private String[] mIndex;
public IconSimpleAdapter(Context context, String[] index, ArrayList<Map<String, Object>> ArrayList) {
mInflater = LayoutInflater.from(context);
mList = ArrayList;
mIndex = index;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
try{
ViewHolder holder = null;
if (convertView == null) {
Bitmap mIcon = (Bitmap) mList.get(position).get(mIndex[0]);
String mItem = " " + (String) mList.get(position).get(mIndex[1]);
convertView = mInflater.inflate(R.layout.simple_list_item_icon, null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.simple_list_item_icon_tv);
holder.icon = (ImageView) convertView.findViewById(R.id.simple_list_item_icon_iv);
holder.text.setText(mItem);
holder.icon.setImageBitmap(mIcon);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}catch(Exception e){
Log.e("Error", e.toString());
}
return null;
}
private class ViewHolder {
TextView text;
ImageView icon;
}
}
and my main.java
- Code: Select all
for(int subicount = 0; subicount < 21; subicount++){
bitmap = BitmapFactory.decodeFile("/sdcard/a.jpg");
HashMap<String, Object> item2 = new HashMap<String, Object>();
setTitle(subnamestr);
item2.put(cv.ITEM_ICON, bitmap);
item2.put(cv.ITEM_TEXT, subicount );
data2.add(item2);
}
ListView lv = (ListView) findViewById(R.id.ListView01);
IconSimpleAdapter adapter = new IconSimpleAdapter(this, new String[] {cv.ITEM_ICON, cv.ITEM_TEXT}, data);
lv.setAdapter(adapter);
now i have a problem. why my list result is not start from 0 to 20, is like below, every 10 repeat.
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
who can help my problem..please....urgent.....



