问题描述
我想将ArrayList的元素添加到Recycleview中。但是当我运行模拟器时,回收站中什么也没出现。
MainActivity.java
private FragmentManager fragmentManager = getSupportFragmentManager();
private FragmentHome fragmentHome = new FragmentHome();
private FragmentNotice fragmentNotice = new FragmentNotice();
private FragmentCampaign fragmentCampaign = new FragmentCampaign();
private FragmentIndividual fragmentIndividual = new FragmentIndividual();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentTransaction transaction = fragmentManager.beginTransaction();
BottomNavigationView bottomNavigationView = findViewById(R.id.navigationView);
transaction.replace(R.id.frameLayout,fragmentHome).commitAllowingStateLoss();
bottomNavigationView.setonNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
FragmentTransaction transaction = fragmentManager.beginTransaction();
switch(item.getItemId()){
case R.id.action_home:
transaction.replace(R.id.frameLayout,fragmentHome).commitAllowingStateLoss();
break;
case R.id.action_notice:
transaction.replace(R.id.frameLayout,fragmentNotice).commitAllowingStateLoss();
break;
case R.id.action_campaign:
transaction.replace(R.id.frameLayout,fragmentCampaign).commitAllowingStateLoss();
break;
case R.id.action_private:
transaction.replace(R.id.frameLayout,fragmentIndividual).commitAllowingStateLoss();
break;
}
return true;
}
});
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user == null) {
startMyActivity(LoginActivity.class);
} else {
// 회원가입 or 로그인
FirebaseFirestore db = FirebaseFirestore.getInstance();
DocumentReference docRef = db.collection("users").document(user.getUid());
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document != null) {
if (document.exists()) {
Log.d(TAG,"DocumentSnapshot data: " + document.getData());
} else {
Log.d(TAG,"No such document");
startMyActivity(MemberInfoActivity.class);
}
}
} else {
Log.d(TAG,"get Failed with ",task.getException());
}
}
});
}
}
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.logoutBtn:
FirebaseAuth.getInstance().signOut();
startMyActivity(LoginActivity.class);
finish();
break;
}
}
};
private void startMyActivity(Class c) {
Intent intent = new Intent(this,c);
startActivity(intent);
}
}
MainAdapter.java
private ArrayList<String> mDataset;
private Activity activity;
static class galleryViewHolder extends RecyclerView.ViewHolder {
CardView cardView;
galleryViewHolder(CardView v) {
super(v);
cardView = v;
}
}
public MainAdapter(Activity activity,ArrayList<String> myDataset) {
this.mDataset = myDataset;
this.activity = activity;
System.out.println(myDataset);
}
@NonNull
@Override
public MainAdapter.galleryViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
CardView cardView = (CardView) LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post,parent,false);
final galleryViewHolder galleryViewHolder = new galleryViewHolder(cardView);
cardView.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
return galleryViewHolder;
}
@Override
public void onBindViewHolder(@NonNull final galleryViewHolder holder,int position) {
CardView cardView = holder.cardView;
TextView textView = cardView.findViewById(R.id.textView);
textView.setText(mDataset.get(position));
}
@Override
public int getItemCount() {
return mDataset.size();
}
}
FragmentCampaign.java
public View onCreateView(@NonNull LayoutInflater inflater,@Nullable ViewGroup container,@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_campaign,container,false);
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("test text1");
arrayList.add("test text2");
arrayList.add("test text3");
RecyclerView recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new linearlayoutmanager(getContext()));
RecyclerView.Adapter mAdapter = new MainAdapter(getActivity(),arrayList);
recyclerView.setAdapter(mAdapter);
return inflater.inflate(R.layout.fragment_campaign,false);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)