Java 如何使用片段中的getter和setter将数据提供给recyclerView。以字符串数组形式存储在类中的数据

Java 如何使用片段中的getter和setter将数据提供给recyclerView。以字符串数组形式存储在类中的数据,java,android,android-layout,android-studio,android-fragments,Java,Android,Android Layout,Android Studio,Android Fragments,我的目标是构建一个recyclerView作为GridLayoutManager,在一个片段中包含5列 我在MainActivity的onCreateView中调用我的BoardFragment public class MainActivity extends AppCompatActivity { public static final String BOARD_FRAGMENT = "board_fragment"; public static final String

我的目标是构建一个recyclerView作为GridLayoutManager,在一个片段中包含5列

我在MainActivity的onCreateView中调用我的BoardFragment

public class MainActivity extends AppCompatActivity {

    public static final String BOARD_FRAGMENT = "board_fragment";
    public static final String BOARD_NUMBER_INDEX = "board_number_index";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        NumberModel number = new NumberModel();
        number.setNumbers(Arrays.toString(BoardNumbers.numbers));

        BoardFragment boardFragment = new BoardFragment();

        Bundle bundle = new Bundle();
        bundle.putParcelable(BOARD_NUMBER_INDEX, savedInstanceState);
        boardFragment.setArguments(bundle);

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.mainContainer, boardFragment, BOARD_FRAGMENT);
        fragmentTransaction.commit();
    }
}
那块木板碎片是

public class BoardFragment extends Fragment {
    private NumberModel[] mNumberModels;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_board, container, false);

        Bundle bundle = this.getArguments();
        if (bundle != null) {
            mNumberModels = bundle.getParcelable(MainActivity.BOARD_FRAGMENT);
            Parcelable[] parcelables = bundle.getParcelableArray(MainActivity.BOARD_NUMBER_INDEX);
            mNumberModels = Arrays.copyOf(parcelables, parcelables.length, NumberModel[].class);
        }

        RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.boardRecyclerView);
        BoardGridAdapter adapter = new BoardGridAdapter(getActivity(), mNumberModels);
        recyclerView.setAdapter(adapter);

        RecyclerView.LayoutManager manager = new GridLayoutManager(getActivity(), 5);
        recyclerView.setLayoutManager(manager);

        recyclerView.setHasFixedSize(true);

        return view;
    }
}
BoardGridAdapter是

public class BoardGridAdapter extends RecyclerView.Adapter<BoardGridAdapter.BoardViewHolder> {
    private Context mContext;
    private NumberModel[] mNumberModels;

    public BoardGridAdapter(Context context, NumberModel[] numberModels) {
        mContext = context;
        mNumberModels = numberModels;
    }

    @Override
    public BoardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_board, parent, false);
        BoardViewHolder viewHolder = new BoardViewHolder(view);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(BoardViewHolder holder, int position) {
        holder.bindView(mNumberModels[position]);
    }

    @Override
    public int getItemCount() {
        return mNumberModels.length;
    }

    public class BoardViewHolder extends RecyclerView.ViewHolder {
        public TextView mTextView;

        public BoardViewHolder(View itemView) {
            super(itemView);
            mTextView = (TextView) itemView.findViewById(R.id.boardNumber);
        }

        public void bindView (NumberModel numberModel) {
            mTextView.setText(numberModel.getNumbers());
        }
    }
}
我不明白为什么这个代码不起作用

现在它在BoardFragment.java中显示了一个错误

错误:(31,49)错误:不兼容的类型:推断的类型不符合上限 推断:INT#1 上限:NumberModel[],可包裹 其中,INT#1是交叉点类型: INT#1扩展NumberModel[],可包裹

public class NumberModel implements Parcelable {
    private  String mNumbers;

    public NumberModel() {}

    public  String getNumbers() {
        return mNumbers;
    }

    public void setNumbers(String numbers) {
        mNumbers = numbers;
    }

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

    @Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeString(mNumbers);
    }

    private NumberModel (Parcel in) {
        mNumbers = in.readString();
    }

    public static final Creator<NumberModel> CREATOR = new Creator<NumberModel>() {
        @Override
        public NumberModel createFromParcel(Parcel parcel) {
            return new NumberModel(parcel);
        }

        @Override
        public NumberModel[] newArray(int i) {
            return new NumberModel[i];
        }
    };
}
public class BoardNumbers {
    public static String[] numbers = new String []{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25"};
}