0

カスタム アダプターを設定した MultiAutoCompleteTextView があります。これで、このアダプターは、ユーザーがテキストを入力したときに、ユーザーが選択できるオプションのリストを表示します。

これはポートレート モードで問題なく動作します。ただし、ランドスケープでは、このアダプターにビュー (オプションのリスト) を表示させたくありません。アダプタを削除したくありません。

ビューをGONEに設定しようとしました.そして、ビューをまったく表示しないようにカウントを0に設定しようとしましたが、これによりデータ自体が失われます.

アダプターにデータをロードさせ、横長モードでのビューの表示を停止するにはどうすればよいですか?

4

1 に答える 1

0

このようにArrayAdapterを継承できます。

public class MyArrayAdapter<T> extends ArrayAdapter<T> {

    public MyArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects) {
        super(context, resource, textViewResourceId, objects);
        // TODO Auto-generated constructor stub
    }

    @Override
    public int getCount() {
        if(isLandscapeMode())
            return 0;
        return super.getCount();
    }

    public boolean isLandscapeMode()
    {
        DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
        return metrics.xdpi > metrics.ydpi;
    }

}
于 2012-08-09T11:41:51.650 に答える