プロジェクトでフォトギャラリーを使用していますが、アダプターを使用して画像をギャラリーに膨らませることができます。画像の下部にテキスト (画像の名前として 2 ~ 3 語) を追加したい場合はどうすればよいですか? それに関連する参照はありますか?
本当にありがとう。
getView
アダプタのメソッドからカスタム ビュー オブジェクトを作成して返します。垂直方向のImageView
とを含む XML を膨張させることができます。TextView
LinearLayout
FIRST : textview と imageview を持つ gallery_items レイアウトを作成します。
次に、ViewHolder クラスを使用して getView メソッドでレイアウトを膨らませる必要があります。
以下のように :
public class GalleryPhotoWithText extends Activity {
private Gallery galleryView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
galleryView = (Gallery)findViewById(R.id.galleryid);
galleryView.setAdapter(new ImageAdapter(this));
}
public class ImageAdapter extends BaseAdapter {
private Activity activity;
private LayoutInflater inflater=null;
public ImageAdapter(Activity a) {
activity = a;
inflater = (LayoutInflater)activity.getSystemService
(Context.LAYOUT_INFLATER_SERVICE); }
public int getCount() {
return data.length; }
public Object getItem(int position) {
return position; }
public long getItemId(int position) {
return position; }
public class ViewHolder{
public TextView text;
public ImageView image; }
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder holder;
if(convertView==null){
vi = inflater.inflate(R.layout.gallery_items, null);
holder=new ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.textView1);
holder.image=(ImageView)vi.findViewById(R.id.image);
vi.setTag(holder); }
else
holder=(ViewHolder)vi.getTag();
holder.text.setText(name[position]);
final int stub_id=data[position];
holder.image.setImageResource(stub_id);
return vi; }
private int[] data = {
R.drawable.image1, R.drawable.image2,
R.drawable.image3, R.drawable.image4,
};
private String[] name = {
"first pic name", "second pic name",
"third pic name", "fourth pic name",
}; } }
この助けを願っています