GridView
옆에 ImageView
이 있고 제가하려는 것은 GridView
에서 선택한 그림으로 ImageView
을 설정하는 것입니다.ImageView를 선택한 GridView 이미지가 작동하지 않도록 설정합니다.
내가 내 프로젝트를 실행하면 모든 작은 이미지는 일반적으로 GridView
(photoGrid_)에 표시,하지만 난 썸네일의 Toast
표시 올바른 인덱스를 누르면,하지만 때 내 ImageView
(currentImage_ 것은) 표시되지 않습니다 아무것도. 유사한 솔루션을 시도했지만 동일한 결과를 얻거나 내 앱이 중단됩니다.
MyActivity
public void gridViewArea()
{
photoGrid_ = (GridView) findViewById(R.id.gridview);
photoGrid_.setAdapter(imageAdapter_);
photoGrid_.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Toast.makeText(MyActivity.this, "" + position, Toast.LENGTH_SHORT).show();
currentImage_ = (ImageView) imageAdapter_.getView(position, view, parent);
currentImage_.setImageResource(imageAdapter_.getSelectedImage()[position]);
}
});
}
어댑터
public class ImageAdapter extends BaseAdapter
{
private Context mContext;
public ImageAdapter(Context c)
{
mContext = c;
}
public int getCount()
{
return mThumbIds.length;
}
public Object getItem(int position)
{
return null;
}
public long getItemId(int position)
{
return 0;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(0, 0, 0, 0);
}
else
{
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
private Integer[] mThumbIds =
{
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7
};
public Integer[] getSelectedImage()
{
return mThumbIds;
}
}