Java 不在片段扩展类中显示Listview

Java 不在片段扩展类中显示Listview,java,android,listview,android-fragments,android-listview,Java,Android,Listview,Android Fragments,Android Listview,我遵循androidhive教程,希望将片段与listview活动结合起来。 首先,我对android非常陌生。如果我犯了错误,请原谅我 代码是这样的,slidemenu使用片段类绘制,我不能将扩展类更改为ListFragment。我想在抽屉中的每个片段中都有一个列表视图 非常感谢你帮助我 这是片段类 public class FindPeopleFragment extends Fragment { public FindPeopleFragment(){} @Override publi

我遵循androidhive教程,希望将片段与listview活动结合起来。 首先,我对android非常陌生。如果我犯了错误,请原谅我

代码是这样的,slidemenu使用片段类绘制,我不能将扩展类更改为ListFragment。我想在抽屉中的每个片段中都有一个列表视图

非常感谢你帮助我

这是片段类

public class FindPeopleFragment extends Fragment {

public FindPeopleFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_find_people, container, false);

    return rootView;
} }
这是一个xml文件

<?xml version="1.0" encoding="utf-8"?>
<!--  Single List Item Design -->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/label"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dip"
    android:textSize="16dip"
    android:textStyle="bold" >
</TextView>
适配器文件

public class NavDrawerListAdapter extends BaseAdapter {

    private Context context;
    private ArrayList<NavDrawerItem> navDrawerItems;

    public NavDrawerListAdapter(Context context, ArrayList<NavDrawerItem> navDrawerItems){
        this.context = context;
        this.navDrawerItems = navDrawerItems;
    }

    @Override
    public int getCount() {
        return navDrawerItems.size();
    }

    @Override
    public Object getItem(int position) {       
        return navDrawerItems.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            LayoutInflater mInflater = (LayoutInflater)
                    context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            convertView = mInflater.inflate(R.layout.drawer_list_item, null);
        }

        ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
        TextView txtTitle = (TextView) convertView.findViewById(R.id.title);
        TextView txtCount = (TextView) convertView.findViewById(R.id.counter);

        imgIcon.setImageResource(navDrawerItems.get(position).getIcon());        
        txtTitle.setText(navDrawerItems.get(position).getTitle());

        // displaying count
        // check whether it set visible or not
        if(navDrawerItems.get(position).getCounterVisibility()){
            txtCount.setText(navDrawerItems.get(position).getCount());
        }else{
            // hide the counter view
            txtCount.setVisibility(View.GONE);
        }

        return convertView;
    }

}
公共类NavDrawerListAdapter扩展了BaseAdapter{
私人语境;
私人ArrayList NavWrites;
公共NavDrawerListAdapter(上下文上下文,ArrayList navDrawerItems){
this.context=上下文;
this.navDrawerItems=navDrawerItems;
}
@凌驾
public int getCount(){
返回navDrawerItems.size();
}
@凌驾
公共对象getItem(int位置){
返回NAVS.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
LayoutInflater mInflater=(LayoutInflater)
context.getSystemService(Activity.LAYOUT\u INFLATER\u SERVICE);
convertView=mInflater.充气(R.layout.drawer\u list\u项,空);
}
ImageView imgIcon=(ImageView)convertView.findViewById(R.id.icon);
TextView txtTitle=(TextView)convertView.findViewById(R.id.title);
TextView txtCount=(TextView)convertView.findViewById(R.id.counter);
setImageResource(navDrawerItems.get(position.getIcon());
setText(navDrawerItems.get(position.getTitle());
//显示计数
//检查设置是否可见
if(navDrawerItems.get(position.getCounterVisibility()){
setText(navDrawerItems.get(position.getCount());
}否则{
//隐藏计数器视图
txtCount.setVisibility(View.GONE);
}
返回视图;
}
}

像这样试试,它正在工作

public class FindPeopleFragment extends ListFragment{

public FindPeopleFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_find_people, container, false);

    return rootView;
}

是的,因为在主要活动中您使用了片段管理器,其导航抽屉示例是它?您得到了什么错误?列表未显示。显示您的自定义适配器文件感谢您的回复。如果我更改扩展类。它给了我main_活动类中的错误,因为该类正在main_活动类中用作片段类。No。埃迪兄弟。当我将Fragment更改为ListFragment时,它在main_活动类中给出了错误。在主活动类中,这个类被认为是片段类。在MiNyActivity类中,Switter - Case1。
public class NavDrawerListAdapter extends BaseAdapter {

    private Context context;
    private ArrayList<NavDrawerItem> navDrawerItems;

    public NavDrawerListAdapter(Context context, ArrayList<NavDrawerItem> navDrawerItems){
        this.context = context;
        this.navDrawerItems = navDrawerItems;
    }

    @Override
    public int getCount() {
        return navDrawerItems.size();
    }

    @Override
    public Object getItem(int position) {       
        return navDrawerItems.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            LayoutInflater mInflater = (LayoutInflater)
                    context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            convertView = mInflater.inflate(R.layout.drawer_list_item, null);
        }

        ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
        TextView txtTitle = (TextView) convertView.findViewById(R.id.title);
        TextView txtCount = (TextView) convertView.findViewById(R.id.counter);

        imgIcon.setImageResource(navDrawerItems.get(position).getIcon());        
        txtTitle.setText(navDrawerItems.get(position).getTitle());

        // displaying count
        // check whether it set visible or not
        if(navDrawerItems.get(position).getCounterVisibility()){
            txtCount.setText(navDrawerItems.get(position).getCount());
        }else{
            // hide the counter view
            txtCount.setVisibility(View.GONE);
        }

        return convertView;
    }

}
public class FindPeopleFragment extends ListFragment{

public FindPeopleFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_find_people, container, false);

    return rootView;
}