如何在导航抽屉的第一个片段中调用RecyclerView?我已按照Slidenerd的教程进行操作,但出现一个错误

哥谭

这是我希望插入回收站视图的片段的Java文件。请不要担心由于某些原因我删除的软件包名称。

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;
import java.util.List;

public class Dashboard extends Fragment {
    private RecyclerView recyclerView;
    private RecyclerAdapter adapter;

    /**
     * Returns a new instance of this fragment for the given section number.
     */
    public static Dashboard newInstance() {
        Dashboard fragment = new Dashboard();
        return fragment;
    }

    public Dashboard () {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.activity_dashboard, container,
                false);
        recyclerView = (RecyclerView) rootView.findViewById(R.id.drawerlist);
        adapter=new RecyclerAdapter(getActivity().getData());
        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
        return rootView;
    }

    public static List<Information> getData(){
        List<Information> data=new ArrayList<>();
        String[] titles={"Rooms Occupied","RoomsVacant","Check-In","Check-Out","Extensions","Confirmations","Cancellations"};
        for(int i=0;i<titles.length;i++)
        {
            Information current =new Information();
            current.title=titles[i];
            data.add(current);
        }
        return data;
    }

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
    }






}

这是我的适配器类

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.Collections;
import java.util.List;

/**
 * Created by gowtham on 6/13/2015.
 */
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.MyViewHolder> {
    private LayoutInflater inflater;
    List<Information> data= Collections.emptyList();
    public RecyclerAdapter(Context context, List<Information> data){
        inflater=LayoutInflater.from(context);
        this.data=data;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=inflater.inflate(R.layout.custom_row, parent,false);
        MyViewHolder holder=new MyViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        Information current=data.get(position);
        holder.title.setText(current.title);

    }

    @Override
    public int getItemCount() {
        return 0;
    }

    class MyViewHolder extends RecyclerView.ViewHolder{
        TextView title;


        public MyViewHolder(View itemView) {
            super(itemView);
            title= (TextView) itemView.findViewById(R.id.viewText);

        }
    }
}

这是我要在其中使用回收站视图的片段的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/viewImage"
        android:background="@drawable/ic_dashboard"
        android:layout_gravity="center_vertical"
        android:gravity="center"
        />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/viewText"
        android:text="Dummy Text"
        android:textStyle="bold"
        android:layout_gravity="left"
        android:gravity="center" />
</LinearLayout>

由于我是Stackoverflow的新手,所以我没有足够的声誉来添加图像。因此,我将在以下评论中添加屏幕截图。请看看它,以了解确切的情况。谢谢!

邹国荣

你为什么打电话getActivity().getData(),只要打电话getData()

在您的Adapter类中:

@Override
public int getItemCount() {
    return data.size();
}

它不能只是返回零,您应该返回数据大小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档