リストビューがあり、Webからビットマップを読み込んでいますが、問題はリストビューに1000個のアイテムがあるため、メモリ不足エラーが発生することです。画像キャッシュも使用しました。 。
質問する
3599 次
3 に答える
2
于 2012-11-29T03:31:04.523 に答える
1
次のコードを試してください。
public class ListFivePictureNameDetailsPassFail extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new StudentListAdapter(this));
}
private class StudentListAdapter extends BaseAdapter {
private Context mContext;
private String[] mStudents = { "DurgaPrasad", "Raghu", "Vivek",
"Satish", "Naga Jyothi", "Vardhika", "Nikhil" };
private String[] mDetailsStudent = { "Details of DurgaPrasad",
"Details of Raghu This row is not created using java",
"Details of Vivek", "Details of Satish",
"Details of Naga Jyothi", "Details of Vardhika",
"Details of Nikhil" };
public StudentListAdapter(Context context) {
mContext = context;
}
public int getCount() {
return mStudents.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
System.out.println("111111111111 : "+position);
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
/*if (position == 0) {
System.out.println("111111111111 : "+position);
v = vi.inflate(R.layout.studentdetailsrow, null);
System.out.println("111111111111 : "+position);
} else*/
v = vi.inflate(R.layout.studentdetailsrowother, null);
}
ImageView iv = (ImageView) v.findViewById(R.id.icon);
ImageView iv2 = (ImageView) v.findViewById(R.id.icon2);
if (position == 0) {
iv.setImageResource(R.drawable.newicon);
iv2.setImageResource(R.drawable.icon);
} else {
iv.setImageResource(R.drawable.newicon);
iv2.setImageResource(R.drawable.icon);
}
TextView tvname = (TextView) v.findViewById(R.id.stuname);
TextView tvdetail = (TextView) v.findViewById(R.id.studetail);
tvname.setText(mStudents[position]);
tvdetail.setText(mDetailsStudent[position]);
return v;
}
};
}
于 2012-11-29T03:56:58.857 に答える
0
画像を可能な限り縮小することで、メモリ使用量を最小限に抑えることもできます。これを行う方法の例を次に示します。
于 2012-11-29T03:45:12.760 に答える