listfragment とカスタムアダプタでリストを構築!! 25 番目の行を別のビューで塗りつぶしたい !!! そして、私のコードはビューが最初に表示されたときに機能し、リストを上にスクロールして画面を外に出すと FC が得られます! 一方、この行にコメントすると==> if(row == null){コードは正常に機能し、問題はありませんが、リストに多くのアイテムがあり、リストが最適化されていないため、リストが遅くなります
public class MyListAdapter extends ArrayAdapter{
Context myContext;
private ArrayList mList;
public MyListAdapter(Context context, int textViewResourceId,ArrayList list) {
super(context, textViewResourceId, list);
myContext = context;
list=this.mList;
}
@Override
public View getView( final int position, View convertView, ViewGroup parent) {
View row=convertView;
if(row == null){
if(position!=20)
{
LayoutInflater inflater = (LayoutInflater)myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.row, parent, false);
ViewHolder holder = new ViewHolder();
// holders
holder.txt_name = (TextView)row.findViewById(R.id.txt_name);
holder.txt_sms = (TextView)row.findViewById(R.id.txt_sms);
holder.txt_vote = (TextView)row.findViewById(R.id.txt_vote);
holder.btn_favorite=(ImageView)row.findViewById(R.id.btn_favorite);
holder.btn_send=(Button)row.findViewById(R.id.btn_send);
row.setTag(holder);
}
else{
LayoutInflater inflater = (LayoutInflater)myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.row2, parent, false);
}
}
if(position!=20)
{
ViewHolder holder = (ViewHolder)row.getTag();
holder.txt_sms.setText(mysms.get(position).gettext());
holder.txt_name.setText(mysms.get(position).getname());
holder.txt_vote.setText(mysms.get(position).getVotenum()+"");
holder.btn_favorite.setImageResource(R.drawable.icon);
holder.btn_send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
}
});
}
return row;
}
}
static class ViewHolder {
TextView txt_sms;
TextView txt_name;
TextView txt_vote;
ImageView btn_favorite;
Button btn_send;
}