2012-08-09 2 views
0

사용자 지정 어댑터를 설정 한 MultiAutoCompleteTextView가 있습니다. 이제이 어댑터는 사용자가 텍스트를 입력 할 때와 선택할 때 선택할 수있는 옵션 목록을 표시합니다.BaseAdapter에서 뷰를 표시하지 않는 방법

인물 모드에서는 정상적으로 작동합니다. 그러나 풍경에서 나는이 어댑터가 어떤보기 (옵션 목록)를 보여주기를 원하지 않습니다. 어댑터를 제거하고 싶지 않습니다.

보기를 GONE으로 설정하려고 시도했습니다.보기를 전혀 표시하지 않도록 카운트를 0으로 설정하려고 시도했지만 데이터 자체가 사라져서 발생하지 않습니다.

어떻게하면 어댑터에서 데이터를로드 할 수 있지만 가로 모드에서는보기가 표시되지 않습니까?

답변

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; 
    } 

} 
관련 문제