为什么我在应用程序中查看图库时无法获得正确的文本值?

时间:2011-11-16 12:47:26

标签: android android-layout android-widget android-gallery

在我的应用程序中,我实现了简单的图库演示。 在这里,我将根据用户查看图库来设置文本值。

这是我的Image Adapter类的GetView方法代码:

public View getView(int position, View convertView, ViewGroup parent) {
        ImageView i = new ImageView(this.myContext);

        i.setImageResource(this.myImageIds[position]);

        /* Image should be scaled as width/height are set. */
        i.setScaleType(ImageView.ScaleType.FIT_XY);
        /* Set the Width/Height of the ImageView. */
        i.setLayoutParams(new Gallery.LayoutParams(300, 300));

        switch(position){

        case 0:
            productName.setText("dimond540_1");

            break;
        case 1:
            productName.setText("diamond540_2");

            break;
        case 2:
            productName.setText("diamond_ink_bottle_1");

            break;
        case 3:
            productName.setText("diamond_ink_bottle_2");

            break;
        case 4:
            productName.setText("diamond_ink_bottle_3");

            break;
        case 5:
            productName.setText("micarta_1");

            break;
        case 6:
            productName.setText("micarta_2");

            break;
        case 7:
            productName.setText("vac700_1");

            break;
        case 8:
            productName.setText("vac700_2");

            break;
        }
        return i;
    }
    /** Returns the size (0.0f to 1.0f) of the views
     * depending on the 'offset' to the center. */
    public float getScale(boolean focused, int offset) {
            /* Formula: 1 / (2 ^ offset) */
        return Math.max(0, 1.0f / (float)Math.pow(2, Math.abs(offset)));
    }
}

现在问题是,当我查看图库图像时,文本值会发生变化。但是我无法获得我已设置为第二位置和倒数第二位的textValue。

我尝试了很多,但每次我得到所有值但不是第二个位置textValue和SecondLast位置textValue。

那么,我的代码中有什么问题?

1 个答案:

答案 0 :(得分:0)

我已经解决了我的问题如下:

我已经在该类中创建了Method,并且在该方法中我更改了TextValue并且它运行良好。

代码:

 public long getItemId(int position) { 

        switch(position){

        case 0:
            productName.setText("Dimond540(1)");

            break;
        case 1:
            productName.setText("Dimond540(2)");

            break;
        case 2:
            productName.setText("Diamond Ink Bottle(1)");

            break;
        case 3:
            productName.setText("Diamond Ink Bottle(2)");

            break;
        case 4:
            productName.setText("Diamond Ink Bottle(3)");

            break;
        case 5:
            productName.setText("Micarta(1)");

            break;
        case 6:
            productName.setText("Micarta(2)");

            break;
        case 7:
            productName.setText("Vac700(1)");

            break;
        case 8:
            productName.setText("Vac700(2)");

            break;
        }

        return position; 
    }