2015-12-09 93 views
-1

我是Android新手,我检查getCount()方法返回的值大于0,但getView()getItem()方法都未得到执行。Android:自定义的适配器不调用getView方法

这里是我的适配器类

package com.zmlogisncs.fragment; 

import java.util.List; 

import com.zmlogisncs.dreamove.R; 
import com.zmlogisncs.vo.AppointMent; 

import android.content.Context; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 

public class AppointAdapter extends BaseAdapter { 
private Context mContext; 
private List<AppointMent> mList; 

public AppointAdapter(Context context,List<AppointMent> list){ 
    mContext=context; 
    mList=list; 
} 

@Override 
public int getCount() { 
    Log.d("ssss",mList.size()+""); 
    return mList.size(); 
} 

@Override 
public Object getItem(int arg0) { 
    return mList.get(arg0); 
} 

@Override 
public long getItemId(int arg0) { 
    return arg0; 
} 
@Override 
public View getView(int poistion, View converView, ViewGroup parent) { 
    if (converView==null) { 
    converView=LayoutInflater.from(mContext).inflate(R.layout.appoitmentlistview_item, null); 
    } 
    Log.d("ssss", "ssss"); 
    return converView; 
} 

} 

,这里是我的片段类

public class AppoitmentPeople extends ListFragment { 
    private View view; 
    @Override 
    public void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getAppoitment(getActivity()); 
    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     view = inflater.inflate(R.layout.appoitment_people, container, false); 
     return view; 
    } 
public void getAppoitment(Context mContext){ 
    AsyncHttpClient client = new AsyncHttpClient(); 
    RequestParams params = new RequestParams(); 
    params.put("access_token", URLManager.ACCESS_TOKEN); 
    params.put("start_page", 0+""); 
    params.put("type", "2"); 
    client.post(URLManager.GET_SELLERLIST, params, 
      new AsyncHttpResponseHandler() { 
       @Override 
       public void onSuccess(String content) { 
        try { 
        Response<List<AppointMent>> result=JsonUtil.deserialize(content, new TypeReference<Response<List<AppointMent>>>() { 
        }); 
        List<AppointMent> list=result.getData(); 
        AppointAdapter adapter=new AppointAdapter(getActivity(),list); 
        setListAdapter(adapter); 
        } catch (Exception e) { 
         Log.e("AppPeople", e.getMessage()); 
        } 
       } 

      }); 

} 

}

+0

您是否收到任何错误? 并尝试使用 [this.setListAdapter(adapter);] –

+0

您确定getCount被调用吗? – Nanoc

+0

你的适配器的构造函数是Context和List,但你用getActivity()调用它;改为使用getApplicationContext(); –

回答

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

变化上面

​​
+0

它的arg0 sry :) –

+0

仍然使用Eclipse,呃? :P – Sufian

+0

是的,但它的工作.... :) –

相关问题