Java (Android)使用列表中的字符串创建RecyclerView
我有一个包含姓名的Java (Android)使用列表中的字符串创建RecyclerView,java,android,list,android-recyclerview,Java,Android,List,Android Recyclerview,我有一个包含姓名的列表。如何使用RecyclerView打印它们?Hi RecyclerView的简单示例 请遵循以下步骤: 在全局变量中声明此变量 private RecyclerView recyclerview; 使用此选项,您可以从服务器获得响应,并使用GSON插件创建一个模型类,然后复制并粘贴您的响应 Gson gson = new Gson(); CreateYourModel createYourModel = gson.fromJson(response_data, Your
列表。如何使用RecyclerView打印它们?Hi RecyclerView的简单示例
请遵循以下步骤:
在全局变量中声明此变量
private RecyclerView recyclerview;
使用此选项,您可以从服务器获得响应,并使用GSON插件创建一个模型类,然后复制并粘贴您的响应
Gson gson = new Gson();
CreateYourModel createYourModel = gson.fromJson(response_data, YourActivity.class);
RecyclerAdapter mAdapter = new RecyclerAdapter(createYourModel);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
recyclerview.setLayoutManager(mLayoutManager);
recyclerview.setItemAnimator(new DefaultItemAnimator());
recyclerview.setAdapter(mAdapter);
recyclerview.setNestedScrollingEnabled(false);
这是您的回收适配器,请使用相同的
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.MyViewHolder> {
private CreateYourModel mList;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView tvdate;
public MyViewHolder(View view) {
super(view);
tvdate = (TextView) view.findViewById(R.id.tvdate);
}
}
public RecyclerAdapterCreateYourModel mList) {
this.mList = mList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.youritemview, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.tvsummuryloan_repayment_date.setText(setyourdatafromlist);
}
@Override
public int getItemCount() {
return mList.size();
}
}
公共类RecyclerAdapter扩展了RecyclerView.Adapter{
私有模型列表;
公共类MyViewHolder扩展了RecyclerView.ViewHolder{
公共文本查看日期;
公共MyViewHolder(视图){
超级(视图);
tvdate=(TextView)view.findViewById(R.id.tvdate);
}
}
公共回收器适配器CreateYourModel(MSList){
this.mList=mList;
}
@凌驾
公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
View itemView=LayoutInflater.from(parent.getContext())
.充气(R.layout.youritemview,父项,false);
返回新的MyViewHolder(itemView);
}
@凌驾
公共无效onBindViewHolder(MyViewHolder,int位置){
holder.tvsumuryloan\u还款日期.setText(setyourdatafromlist);
}
@凌驾
public int getItemCount(){
返回mList.size();
}
}
你可以在谷歌上学习任何教程
感谢您提供回收者视图的简单示例 请遵循以下步骤:
private RecyclerView recyclerview;
Gson gson = new Gson();
CreateYourModel createYourModel = gson.fromJson(response_data, YourActivity.class);
RecyclerAdapter mAdapter = new RecyclerAdapter(createYourModel);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
recyclerview.setLayoutManager(mLayoutManager);
recyclerview.setItemAnimator(new DefaultItemAnimator());
recyclerview.setAdapter(mAdapter);
recyclerview.setNestedScrollingEnabled(false);
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.MyViewHolder> {
private CreateYourModel mList;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView tvdate;
public MyViewHolder(View view) {
super(view);
tvdate = (TextView) view.findViewById(R.id.tvdate);
}
}
public RecyclerAdapterCreateYourModel mList) {
this.mList = mList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.youritemview, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.tvsummuryloan_repayment_date.setText(setyourdatafromlist);
}
@Override
public int getItemCount() {
return mList.size();
}
}
公共类RecyclerAdapter扩展了RecyclerView.Adapter{
私有模型列表;
公共类MyViewHolder扩展了RecyclerView.ViewHolder{
公共文本查看日期;
公共MyViewHolder(视图){
超级(视图);
tvdate=(TextView)view.findViewById(R.id.tvdate);
}
}
公共回收器适配器CreateYourModel(MSList){
this.mList=mList;
}
@凌驾
公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
View itemView=LayoutInflater.from(parent.getContext())
.充气(R.layout.youritemview,父项,false);
返回新的MyViewHolder(itemView);
}
@凌驾
公共无效onBindViewHolder(MyViewHolder,int位置){
holder.tvsumuryloan\u还款日期.setText(setyourdatafromlist);
}
@凌驾
public int getItemCount(){
返回mList.size();
}
}
谢谢我一直在寻找一种简单的方法,经过一段时间的摆弄,我想我找到了一种方法 这里我使用字符串的ArrayList 适配器类
public class TagsAdapter extends RecyclerView.Adapter<TagsAdapter.TagsViewHolder> {
ArrayList<String> arrayList;
public TagsAdapter(ArrayList<String> arrayList) {
this.arrayList = arrayList;
}
@NonNull
@Override
public TagsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_holder_tags_chips, parent, false);
return new TagsAdapter.TagsViewHolder(layoutView);
}
@Override
public void onBindViewHolder(@NonNull final TagsViewHolder holder, final int position) {
holder.tagText.setText(arrayList.get(position));
}
@Override
public int getItemCount() {
return arrayList.size();
}
public class TagsViewHolder extends RecyclerView.ViewHolder {
public TextView tagText;
public TagsViewHolder(View view) {
super(view);
tagText = view.findViewById(R.id.chipTextView);
}
}
}
在同一位置添加此方法。我假设数组列表中已经有字符串
private void getTags() {
recyclerView = view.findViewById(R.id.view);
recyclerView.setNestedScrollingEnabled(false);
recyclerView.setHasFixedSize(false);
layoutManager = new LinearLayoutManager(requireActivity(), LinearLayoutManager.HORIZONTAL, false);
//I have made my recycler view horizontal, if you want it vertical, just change the horizontal above to vertical.
recyclerView.setLayoutManager(layoutManager);
adapter = new TagsAdapter(tagsArray);
recyclerView.setAdapter(adapter);
}
我知道这是一个老生常谈的问题,但可能会帮助那些想要一种简单直接的方法的人。我一直在寻找一种简单的方法,经过一段时间的摆弄,我想我找到了一种方法 这里我使用字符串的ArrayList 适配器类
public class TagsAdapter extends RecyclerView.Adapter<TagsAdapter.TagsViewHolder> {
ArrayList<String> arrayList;
public TagsAdapter(ArrayList<String> arrayList) {
this.arrayList = arrayList;
}
@NonNull
@Override
public TagsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_holder_tags_chips, parent, false);
return new TagsAdapter.TagsViewHolder(layoutView);
}
@Override
public void onBindViewHolder(@NonNull final TagsViewHolder holder, final int position) {
holder.tagText.setText(arrayList.get(position));
}
@Override
public int getItemCount() {
return arrayList.size();
}
public class TagsViewHolder extends RecyclerView.ViewHolder {
public TextView tagText;
public TagsViewHolder(View view) {
super(view);
tagText = view.findViewById(R.id.chipTextView);
}
}
}
在同一位置添加此方法。我假设数组列表中已经有字符串
private void getTags() {
recyclerView = view.findViewById(R.id.view);
recyclerView.setNestedScrollingEnabled(false);
recyclerView.setHasFixedSize(false);
layoutManager = new LinearLayoutManager(requireActivity(), LinearLayoutManager.HORIZONTAL, false);
//I have made my recycler view horizontal, if you want it vertical, just change the horizontal above to vertical.
recyclerView.setLayoutManager(layoutManager);
adapter = new TagsAdapter(tagsArray);
recyclerView.setAdapter(adapter);
}
我知道这是一个老生常谈的问题,但可能有助于希望以简单明了的方式进行此操作的人。请添加更多详细信息您尝试了什么?我找到了许多不同的教程,但每一个教程对我来说都太复杂了,例如,单击按钮在RecyclerView中显示TextView中的文本。我只想得到一个非常简单的答案:我必须使用RecyclerView,我还不知道,我需要打印列表中的所有元素,但我不知道如何操作。请添加更多详细信息您尝试了什么?我发现了许多不同的教程,但每一个教程对我来说都太复杂了,例如,单击按钮在RecyclerView中显示TextView中的文本。我只想得到一个非常简单的答案:我必须使用RecyclerView,我还不知道它,我需要打印列表中的所有元素,我不知道怎么做。