1

ギャラリーの位置に応じて、1つまたは別のエディットテキストがフォーカスを受け取ります。私はそれを行うことができましたが、ビヘイビアーのギャラリーがクラッシュします。ギャラリーが位置を実行し、エディットテキストにフォーカスを設定すると、ギャラリーの速度がクラッシュします。ギャラリーが遅すぎてリクエストを時間どおりに受け取れないようです。

それについての重要な情報は見つかりませんでした。

galleryView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(
            @SuppressWarnings("rawtypes") AdapterView adapterView,
            View view, int pos, long l) {

        if (pos == 0) {
            pie_foto_1.post(new Runnable() {
                public void run() {
                    pie_foto_1.requestFocus();
                }
            });
        }

        if (pos == 1) {
            pie_foto_2.post(new Runnable() {
                public void run() {
                    pie_foto_2.requestFocus();
                }
            });
        }

        if (pos == 2) {

            pie_foto_3.post(new Runnable() {
                public void run() {
                    pie_foto_3.requestFocus();
                }
            });

            pie_foto_1.setVisibility(View.INVISIBLE);
            pie_foto_2.setVisibility(View.INVISIBLE);
            pie_foto_3.setVisibility(View.VISIBLE);

        }
    }

    public void onNothingSelected(
            @SuppressWarnings("rawtypes") AdapterView adapterView
    ) {
    }
});
4

1 に答える 1

0

ギャラリーが新しい位置を取得するには、さらに時間が必要です。そのため、Gallery が位置を変更する前に遅延を入れて、適切なトランジションを取得しました。

                               else if (pos == 1)
                                {
                                    Runnable mMyRunnable = new Runnable() {
                                        public void run() {
                                            pie_foto_1.post(new Runnable() {
                                                public void run() {
                                                    pie_foto_2.requestFocus();
                                                    // headline.clearFocus();

                                                }
                                            });
                                        }
                                    };

                                    Handler myHandler = new Handler();
                                    myHandler.postDelayed(mMyRunnable, 100);
                                }    
于 2012-08-10T00:58:15.007 に答える