android 与片段一起使用的回收视图
android recycleview using with fragment
目前,我正在做一个有导航抽屉的项目,我正在使用片段来处理这些东西。我正要为它使用一个回收视图,但我遇到了代码问题,特别是当我尝试添加 LayoutInflater
并将其粘贴到我应该使用 layoutinflater.from(fragment.getBaseContext);
的片段中时不工作
这是适用于通常 Activity 的代码,但它似乎不适用于 .fragment activity
有人可以帮我解决这个问题吗?甚至为我指出正确的方向?
package sample.101.sample.fragment;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import java.util.ArrayList;
public class MyRecycleViewAdapter extends RecyclerView.Adapter<MyRecycleViewHolder> {
Bad_house_list bad_house_list;
ArrayList<User> userArrayList;
public MyRecycleViewAdapter(Bad_house_list bad_house_list, ArrayList<User> userArrayList) {
this.bad_house_list = bad_house_list;
this.userArrayList = userArrayList;
}
@NonNull
@Override
public MyRecycleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(Bad_house_list.getBaseContext());
layoutInflater.inflate(R.layout.single_row, parent,false);
return null;
}
@Override
public void onBindViewHolder(@NonNull MyRecycleViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
}
试试这个!
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_answer, parent, false);
view.setOnClickListener(this);
view.setOnLongClickListener(this);
MyCustomHolderClass myCustomHolder = new MyCustomHolderClass(view);
return myCustomView;
尝试用这个替换您的适配器
package sample.101.sample.fragment;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import java.util.ArrayList;
public class MyRecycleViewAdapter extends RecyclerView.Adapter<MyRecycleViewHolder> {
Bad_house_list bad_house_list;
ArrayList<User> userArrayList;
public MyRecycleViewAdapter(Bad_house_list bad_house_list, ArrayList<User> userArrayList) {
this.bad_house_list = bad_house_list;
this.userArrayList = userArrayList;
}
@NonNull
@Override
public MyRecycleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.single_row, parent, false);
return new MyRecycleViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull MyRecycleViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return userArrayList.size();
}
}
目前,我正在做一个有导航抽屉的项目,我正在使用片段来处理这些东西。我正要为它使用一个回收视图,但我遇到了代码问题,特别是当我尝试添加 LayoutInflater
并将其粘贴到我应该使用 layoutinflater.from(fragment.getBaseContext);
的片段中时不工作
这是适用于通常 Activity 的代码,但它似乎不适用于 .fragment activity
有人可以帮我解决这个问题吗?甚至为我指出正确的方向?
package sample.101.sample.fragment;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import java.util.ArrayList;
public class MyRecycleViewAdapter extends RecyclerView.Adapter<MyRecycleViewHolder> {
Bad_house_list bad_house_list;
ArrayList<User> userArrayList;
public MyRecycleViewAdapter(Bad_house_list bad_house_list, ArrayList<User> userArrayList) {
this.bad_house_list = bad_house_list;
this.userArrayList = userArrayList;
}
@NonNull
@Override
public MyRecycleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(Bad_house_list.getBaseContext());
layoutInflater.inflate(R.layout.single_row, parent,false);
return null;
}
@Override
public void onBindViewHolder(@NonNull MyRecycleViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
}
试试这个!
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_answer, parent, false);
view.setOnClickListener(this);
view.setOnLongClickListener(this);
MyCustomHolderClass myCustomHolder = new MyCustomHolderClass(view);
return myCustomView;
尝试用这个替换您的适配器
package sample.101.sample.fragment;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import java.util.ArrayList;
public class MyRecycleViewAdapter extends RecyclerView.Adapter<MyRecycleViewHolder> {
Bad_house_list bad_house_list;
ArrayList<User> userArrayList;
public MyRecycleViewAdapter(Bad_house_list bad_house_list, ArrayList<User> userArrayList) {
this.bad_house_list = bad_house_list;
this.userArrayList = userArrayList;
}
@NonNull
@Override
public MyRecycleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.single_row, parent, false);
return new MyRecycleViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull MyRecycleViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return userArrayList.size();
}
}