2014-05-22 6 views
0

BaseAdapter를 구현하고 있지만 getView() 메소드가 호출되지 않았습니다. 여기 내 간단한 어댑터는 다음과 같습니다BaseAdapter의 Android getView()가 호출되지 않았지만 (getCount()가 호출 됨)

public class Adapter extends BaseAdapter { 
    Context context; 

    public Adapter(Context context) { 
     this.context = context; 
    } 

    @Override 
    public int getCount() { 
     Log.d("log", "getcount"); 
     return 2; 
    } 

    @Override 
    public Object getItem(int i) { return i; } 

    @Override 
    public long getItemId(int i) { return i; } 

    @Override 
    public View getView(int i, View view, ViewGroup viewGroup) { 
     Log.d("log", "getview"); 

     if (view == null) { 
      view = LayoutInflater.from(context).inflate(R.layout.item_menu, null); 
     } 

     TextView textView = (TextView) view.findViewById(R.id.tv); 
     textView.setText("test"); 

     return view; 
    } 
} 

가 여기에 어댑터 설정 방법은 다음과 같습니다 로그에

public class MenuFragment extends Fragment { 
    ListView mListView; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_menu, container, false); 
     mListView = (ListView) view.findViewById(R.id.lv); 
     mListView.setAdapter(new Adapter(this.getActivity())); 

     return inflater.inflate(R.layout.fragment_menu, container, false); 
    } 
} 

을, 나는 getcount하지만 그것이라고 결코 의미 getview을 볼 수 있습니다. ListView는 내 화면에서 볼 수 있습니다. 배경색은 빨간색이므로 확실히 숨겨져 있지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

4

다시

return view; 
+0

에 의해

return inflater.inflate(R.layout.fragment_menu, container, false); 

을 대체 레이아웃을 올리는 대신보기를 보내 주시기 바랍니다 !!!!! 잠좀 자야 할 것 같아. 고맙습니다 !!! 나는 이것을 10 시간 동안 디버깅 해왔다 ... fml. – 0xSina

+0

@ 0xSina가 문제를 해결 했습니까? –

+0

@SyedWaqas ListView 스크롤 속도가 향상되지 않습니다. ViewHolder 패턴을 사용하도록 OP 제안 ... –

관련 문제