여기이 사용자 지정 어댑터의 목록보기에는 이미지보기가 하나만 있습니다. 이 목록보기에 이미지 목록을로드하고 있습니다. 사용자가 스크롤을 중지하는 목록보기 행의 이미지를 변경하고 싶습니다. 이 결과를 어떻게 얻을 수 있습니까? 사전에 모든 솔루션에 감사드립니다.
class MyAdapter extends BaseAdapter {
private Context context;
private int images[];
// public boolean isScrolling;
public MyAdapter(Context context, int images[]) {
this.context = context;
this.images = images;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return images.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return images[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
class MyViewHolder {
ImageView imageView;
public MyViewHolder(View v) {
// TODO Auto-generated constructor stub
imageView = (ImageView) v.findViewById(R.id.imgView);
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View row = convertView;
MyViewHolder holder = null;
if (row == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.custom_list, parent, false);
holder = new MyViewHolder(row);
row.setTag(holder);
} else {
holder = (MyViewHolder) row.getTag();
row = convertView;
}
holder.imageView.setImageResource(images[position]);
return row;
}
}
여기에 이미지 목록을 가져 오기 위해 MyAdapter를 호출하는 MainActivity가 있습니다.
public class MainActivity extends Activity {
private ListView listView;
private MyAdapter myAdapter;
int[] images = { R.drawable.img001, R.drawable.img002, R.drawable.img003,
R.drawable.img004, R.drawable.img005, R.drawable.img006,
R.drawable.img007, R.drawable.img008, R.drawable.img009,
R.drawable.img010, R.drawable.img011, R.drawable.img012,
R.drawable.img013, R.drawable.img014, R.drawable.img015,
R.drawable.img016, R.drawable.img017, R.drawable.img018,
R.drawable.img019, R.drawable.img020, R.drawable.img021,
R.drawable.img022, R.drawable.img023, R.drawable.img024,
R.drawable.img025, R.drawable.img026, R.drawable.img027,
R.drawable.img028, R.drawable.img029, R.drawable.img030,
R.drawable.img031, R.drawable.img032, R.drawable.img033,
R.drawable.img034, R.drawable.img035, R.drawable.img036,
R.drawable.img037, R.drawable.img038, R.drawable.img039,
R.drawable.img040, R.drawable.img041, R.drawable.img042,
R.drawable.img043, R.drawable.img044, R.drawable.img045,
R.drawable.img046, R.drawable.img047, R.drawable.img048,
R.drawable.img049, R.drawable.img050, R.drawable.img051,
R.drawable.img052, R.drawable.img053, R.drawable.img054,
R.drawable.img055, R.drawable.img056, R.drawable.img057,
R.drawable.img058, R.drawable.img059, R.drawable.img060,
R.drawable.img061, R.drawable.img062, R.drawable.img063,
R.drawable.img064, R.drawable.img065, R.drawable.img066,
R.drawable.img067, R.drawable.img068, R.drawable.img069,
R.drawable.img070, R.drawable.img071, R.drawable.img072,
R.drawable.img073, R.drawable.img074, R.drawable.img075,
R.drawable.img076, R.drawable.img077, R.drawable.img078,
R.drawable.img079, R.drawable.img080, R.drawable.img081,
R.drawable.img082, R.drawable.img083, R.drawable.img084,
R.drawable.img085, R.drawable.img086, R.drawable.img087,
R.drawable.img088, R.drawable.img089, R.drawable.img090,
R.drawable.img091, R.drawable.img092, R.drawable.img093,
R.drawable.img094, R.drawable.img095, R.drawable.img096,
R.drawable.img097, R.drawable.img098, R.drawable.img099,
R.drawable.img100 };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myAdapter = new MyAdapter(this, images);
listView = (ListView) findViewById(R.id.imgList);
listView.setAdapter(myAdapter);
}
}
를 사용해보십시오 setOnScrollListener()
와 구현 onScrollStateChanged
에 scrollState == SCROLL_STATE_IDLE
지금 당신이 firstVisibleItem
, visibleItemCount
,totalItemCount
setOnScrollListener(new OnScrollListener(){
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
if(scrollState == SCROLL_STATE_IDLE){
Log.i("a", "scrolling stopped...");
}
});
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다