Android GridViewは、EditTextの入力時にImageViewsを再配置します

私はGridViewを使用して画像のグリッドを表示します。各画像の下にEditTextフィールドがあります。

イメージIDは、カスタムBaseAdapterクラスのgetView()メソッドで保持できるように、配列にプリロードされています。

しかし、ユーザーがEditTextフィールドのいずれかをクリックすると、画像の順序が突然変化します(下の図の「Recall
Initial」から「Recall Adjusted」まで)。

ユーザーがクリックしてグリッドビューの要素の位置を変えさせるeditTextがクリックされたときに何か起こっていることはありますか?

enter image description here

ゲームは暗記ゲームです。ユーザは複数の画像行(MEM)を提示され、各行の画像はスクランブルされる。したがって、最初は「Recall
Initial」ですべてが正しいように見えますが、EditTextをクリックすると画像が移動します。

画像は次の方法で読み込まれます:

public void loadImages() {
        images = new int[numItems];
        String imgName;
        if (gameType == SHAPES_FACES)
            imgName = "face";
        else
            imgName = "image";
        for (int i=0; i

画像は私のカスタムBaseAdapterクラスで処理されます:

private class ShapeAdapter extends BaseAdapter {

    public ShapeAdapter(Context context) {         }
    public int getCount() {                      return numItems;        }
    public Object getItem(int position) {        return null;        }
    public long getItemId(int position) {        return 0;        }
    public View getView(int position, View convertView, ViewGroup parent) {

    View MyView = convertView;
        if (convertView == null) {

            LayoutInflater li = getLayoutInflater();
            MyView = li.inflate(R.layout.shape, null);

            ImageView image = (ImageView) MyView.findViewById(R.id.shape_image);
            image.setBackgroundResource(images[position]);

            EditText textbox = (EditText) MyView.findViewById(R.id.shape_edittext);
            textbox.setVisibility(View.GONE);

            TextView text = (TextView) MyView.findViewById(R.id.shape_text);
            text.setText(strings[position]);
        }
        return MyView;        
    }
}
ベストアンサー
申し訳ありませんが、適切な答えはありません

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です