0

プロジェクトでフォトギャラリーを使用していますが、アダプターを使用して画像をギャラリーに膨らませることができます。画像の下部にテキスト (画像の名前として 2 ~ 3 語) を追加したい場合はどうすればよいですか? それに関連する参照はありますか?

本当にありがとう。

4

2 に答える 2

1

getViewアダプタのメソッドからカスタム ビュー オブジェクトを作成して返します。垂直方向のImageViewとを含む XML を膨張させることができます。TextViewLinearLayout

于 2012-04-25T12:53:56.203 に答える
0

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",  



        };     } }

この助けを願っています

于 2012-04-25T13:03:06.180 に答える