Почему я не могу получить Proper Text Value при просмотре галереи в моем приложении? - PullRequest
0 голосов
/ 16 ноября 2011

В моем приложении я реализовал демонстрацию простой галереи.Здесь я собираюсь установить значение текста в соответствии с пользователем, просматривающим галерею.

Вот мой код для метода GetView класса Image Adapter:

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 голосов
/ 16 ноября 2011

Я решил мой вопрос следующим образом:

Я создал метод в этом классе, и в этом методе я изменил значение 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; 
    }
...