Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 视图在listview中重复多次_Java_Android_Navigation Drawer_Baseadapter - Fatal编程技术网

Java 视图在listview中重复多次

Java 视图在listview中重复多次,java,android,navigation-drawer,baseadapter,Java,Android,Navigation Drawer,Baseadapter,嗨,伙计们,我在导航抽屉的列表视图中看到了多个文本,我只想看到一次这些文本,并且在男士类别中的简单普通thobes下面,但是我在列表视图中看到了每个文本下面 navu适配器.class public class Navgation_adapter extends BaseAdapter { private Context context; private List<Data> catdata; private LayoutInflater inflater;

嗨,伙计们,我在导航抽屉的列表视图中看到了多个文本,我只想看到一次这些文本,并且在男士类别中的简单普通thobes下面,但是我在列表视图中看到了每个文本下面

navu适配器.class

public class Navgation_adapter extends BaseAdapter {
    private Context context;
    private List<Data> catdata;
    private LayoutInflater inflater;

    public Navgation_adapter(Context context, List<Data> catdata) {
        this.context = context;
        this.catdata = catdata;
    }

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

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

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

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        ViewHolder holder;
        if (inflater == null)
            inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if (view == null) {
            holder = new ViewHolder();
            view = inflater.inflate(R.layout.navigation_list, viewGroup, false);
            holder.categories = (TextView) view.findViewById(R.id.categories);
            holder.subcategories = (TextView) view.findViewById(R.id.subcategories);
            holder.whole = (TextView) view.findViewById(R.id.whole);
            holder.catline=view.findViewById(R.id.catline);
            holder.catline2=view.findViewById(R.id.catline2);
            view.setTag(holder);

        } else {
            holder = (ViewHolder) view.getTag();
        }
        Data ndata = catdata.get(i);
        if (ndata.getCatergory() == null) {
            holder.categories.setText(ndata.getCatergory());
            holder.subcategories.setText(ndata.getSubcatergory());
            holder.categories.setVisibility(View.GONE);
            holder.catline.setVisibility(View.GONE);
            holder.catline2.setVisibility(View.VISIBLE);
            holder.subcategories.setVisibility(View.VISIBLE);
            holder.whole.setVisibility(View.GONE);
            holder.whole.setVisibility(View.VISIBLE);
        } else {
            holder.categories.setText(ndata.getCatergory());
            holder.subcategories.setText(ndata.getSubcatergory());
            holder.categories.setVisibility(View.VISIBLE);
            holder.catline.setVisibility(View.VISIBLE);
            holder.catline2.setVisibility(View.GONE);
            holder.subcategories.setVisibility(View.GONE);
            holder.whole.setVisibility(View.GONE);
        }

        return view;
    }

    static class ViewHolder {
        TextView categories, subcategories,whole;
        View catline,catline2;
    }
}[![Image of Navigation drawer][1]][1]
公共类导航适配器扩展了BaseAdapter{
私人语境;
私有列表数据;
私人充气机;
公共NAVU适配器(上下文、列表catdata){
this.context=上下文;
this.catdata=catdata;
}
@凌驾
public int getCount(){
返回catdata.size();
}
@凌驾
公共对象getItem(int i){
返回catdata.get(i);
}
@凌驾
公共长getItemId(int i){
返回i;
}
@凌驾
公共视图getView(int i、视图视图、视图组视图组){
视窗座;
如果(充气器==null)
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
如果(视图==null){
holder=新的ViewHolder();
视图=充气机。充气(R.layout.navigation\u列表,视图组,false);
holder.categories=(TextView)view.findViewById(R.id.categories);
holder.subcategories=(TextView)view.findViewById(R.id.subcategories);
holder.whole=(TextView)view.findViewById(R.id.whole);
holder.catline=view.findViewById(R.id.catline);
holder.catline2=view.findViewById(R.id.catline2);
视图.设置标签(支架);
}否则{
holder=(ViewHolder)view.getTag();
}
Data ndata=catdata.get(i);
if(nda.getCatergory()==null){
holder.categories.setText(ndata.getCategority());
holder.subcategories.setText(ndata.getsubcategority());
holder.categories.setVisibility(View.GONE);
保持架。catline。设置可见性(视图。消失);
支架.catline2.setVisibility(视图.可见);
持有者。子类别。设置可见性(视图。可见);
支架。整体。设置可见性(视图。消失);
支架.整体.设置可见性(视图.可见);
}否则{
holder.categories.setText(ndata.getCategority());
holder.subcategories.setText(ndata.getsubcategority());
holder.categories.setVisibility(View.VISIBLE);
支架.catline.setVisibility(视图.可见);
支架.catline2.setVisibility(视图.消失);
holder.subcategories.setVisibility(View.GONE);
支架。整体。设置可见性(视图。消失);
}
返回视图;
}
静态类视窗夹{
文本视图类别、子类别、整体;
查看catline,catline2;
}
}[![导航抽屉图像][1][1]
//拆下充气机中的这个

 if (inflater == null)
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)
编辑

和设置值字符串(string.xml)

在全局声明变量

    private String[] aDrawerTitle = null, aDrawerIcon = null;
获取所有数据

    aDrawerTitle = getResources().getStringArray(R.array.app_menu);
    aDrawerIcon = getResources().getStringArray(R.array.app_menu_icon);
在string.xml中

<!-- Menu -->
<string-array name="app_menu">
    <item>Item - 1</item>
    <item>Item - 2</item>
    <item>Item - 3</item>
    <item>Item - 4</item>
    <item>Item - 5</item>
    <item>Item - 6</item>
</string-array>

<string-array name="app_menu_icon">
    <item>@string/fa_comments_o</item>
    <item>@string/fa_envelope_o</item>
    <item>@string/fa_globe</item>
    <item>@string/fa_calendar</item>
    <item>@string/fa_cog</item>
    <item>@string/fa_sign_out</item>
</string-array>

项目-1
项目-2
项目-3
项目-4
项目-5
项目-6
@字符串/fau注释
@字符串/fau信封
@串/浮球
@字符串/日历
@串/法齿
@字符串/fa_注销

先生,我想基本适配器中不会有oncreate视图,我的意思是从getView()中移除充气器,您会发现任何错误吗?它的重复性与之前一样,将代码与此演示进行比较:我正试图使用listview内部抽屉布局导航抽屉
    private String[] aDrawerTitle = null, aDrawerIcon = null;
    aDrawerTitle = getResources().getStringArray(R.array.app_menu);
    aDrawerIcon = getResources().getStringArray(R.array.app_menu_icon);
<!-- Menu -->
<string-array name="app_menu">
    <item>Item - 1</item>
    <item>Item - 2</item>
    <item>Item - 3</item>
    <item>Item - 4</item>
    <item>Item - 5</item>
    <item>Item - 6</item>
</string-array>

<string-array name="app_menu_icon">
    <item>@string/fa_comments_o</item>
    <item>@string/fa_envelope_o</item>
    <item>@string/fa_globe</item>
    <item>@string/fa_calendar</item>
    <item>@string/fa_cog</item>
    <item>@string/fa_sign_out</item>
</string-array>