我想在Gallery显示图片的时候,用一个TextView显示当前图片是第几张,怎么实现??

解决方案 »

  1.   

    Gallery g=(Grllery)findViewById(R.id.***);
    g.setOnItemClickListener(new OnItemClickListener(){   public void onItemClick(AdapterView<?> parent,View v,int position,long is){
      
         Toast.makeText(***Activity.this,"第 "+(position+1)+"张",Toast.LENGTH_SHORT).show();   }
    }试试吧@!
      

  2.   

    你好!我需要的不是点击后才显示效果,现在的情况是Gallery里的每张图片是铺满屏幕的,在滑动后显示下一张图片的时候,就要求Gallery下面的TextView显示当前图片的索引。
      

  3.   

    这是个焦点问题!好像有个函数可以获取当前焦点的id!gallery.getFirstVisiblePosition(); 
    试试这个呢!
      

  4.   

    参考:
    AndroidGUI19:Gallery常用技巧
      

  5.   

    在adapter的getView或bindView中布局,用position、和getCount更新textView
      

  6.   

    Gallery的每个item这样布局
    最外层是个FrameLayout
    它里面包含一个ImageView和一个TextView
    TextView放到最下面
    至于TextView显示内容应该是:“第” + position+1 + “张”
      

  7.   

    cxGallery.getFirstVisiblePosition()这个方法是获取当前焦点的id,可是现在的问题是没有一个触发事件来处理,当当前gallery图片切换后,没有对应的方法去改变TextView的文本值。
      

  8.   

    我没试过这样做,也不知道可不可以,不过这样做的话,当前gallert切换的时候,TextView肯定也跟着切换的,目前的情况并不希望TextView跟着gallery动。
      

  9.   

    我本来是想用handler的,getView()里把position发消息给Handler,handler更换TextView的文本值,不过试了下,我的Gallery目前是三张图,position除了初始化的时候发过1,后面无论怎么滚动,永远只有0和2两个值,在网上查了下,虽然有一些解释,不过我还不是很明白,各位大大谁明白的可以解释下。
      

  10.   

     Gallery g=(Grllery)findViewById(R.id.***);
     g.setOnItemSelectedListener(new OnItemSelectedListener()
            { @Override
    public void onItemSelected(AdapterView<?> parent, View view,
    int position, long id) {
     Toast.makeText(Gallery1.this, "" + position, Toast.LENGTH_SHORT).show();
    } @Override
    public void onNothingSelected(AdapterView<?> parent) {
    // TODO Auto-generated method stub

    }});
      

  11.   

    把上面Toast换成TextView就可以了
      

  12.   

    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
    int position, long id) {
    Toast.makeText(Gallery1.this, "" + position, Toast.LENGTH_SHORT).show();
    }