Мой класс адаптера дает мне ошибки:
Список не может быть преобразован в List
Конструктор DataAimsAdapter не может быть применен к данным типам;Обязательно: контекст, найден список: строка, строка, int причина: фактические и формальные списки аргументов различаются по длине
Класс, в котором должен реализовываться RecyclerView
import android.app.Dialog;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.BottomSheetBehavior;
import android.support.design.widget.BottomSheetDialogFragment;
import android.support.design.widget.CoordinatorLayout;
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;
import java.util.List;
public class AimsBottomSheetDialogFragment extends BottomSheetDialogFragment {
List<DataAimsAdapter> tab = new ArrayList<DataAimsAdapter>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View RootView = inflater.inflate(R.layout.fragment_aims, container, false);
// Inflate the layout for this fragment
View showModalBottomSheet = (View) RootView.findViewById(R.id.as_modal);
RecyclerView recyclerView = (RecyclerView) RootView.findViewById(R.id.list);
// создаем адаптер
DataAimsAdapter adapter = new DataAimsAdapter(getActivity(),tab);
// устанавливаем для списка адаптер
recyclerView.setAdapter(adapter);
setInitialData();
return RootView;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
private BottomSheetBehavior.BottomSheetCallback mBottomSheetBehaviorCallback = new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
dismiss();
}
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
}
};
@Override
public void setupDialog(Dialog dialog, int style) {
super.setupDialog(dialog, style);
View contentView = View.inflate(getContext(), R.layout.aims_dialog_modal, null);
dialog.setContentView(contentView);
CoordinatorLayout.LayoutParams layoutParams =
(CoordinatorLayout.LayoutParams) ((View) contentView.getParent()).getLayoutParams();
CoordinatorLayout.Behavior behavior = layoutParams.getBehavior();
if (behavior != null && behavior instanceof BottomSheetBehavior) {
((BottomSheetBehavior) behavior).setBottomSheetCallback(mBottomSheetBehaviorCallback);
}
}
private void setInitialData(){
tab.add(new DataAimsAdapter ("Huawei P10", "Huawei", R.drawable.notepad));
tab.add(new DataAimsAdapter ("Elite z3", "HP", R.drawable.flag));
tab.add(new DataAimsAdapter ("Galaxy S8", "Samsung", R.drawable.notebook));
tab.add(new DataAimsAdapter ("LG G 5", "LG", R.drawable.time));
}
}
Класс адаптера
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
public class DataAimsAdapter extends RecyclerView.Adapter<DataAimsAdapter.ViewHolder> {
private LayoutInflater inflater;
private List<AimsFragmentRecycler> tab;
DataAimsAdapter(Context context, List<AimsFragmentRecycler> tab) {
this.tab = tab;
this.inflater = LayoutInflater.from(context);
}
@Override
public DataAimsAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.aims_fragment_list, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(DataAimsAdapter.ViewHolder holder, int position) {
AimsFragmentRecycler phone = tab.get(position);
holder.imageView.setImageResource(phone.getImage());
holder.nameView.setText(phone.getName());
holder.companyView.setText(phone.getCompany());
}
@Override
public int getItemCount() {
return tab.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
final ImageView imageView;
final TextView nameView, companyView;
ViewHolder(View view){
super(view);
imageView = (ImageView)view.findViewById(R.id.image);
nameView = (TextView) view.findViewById(R.id.name_tittle);
companyView = (TextView) view.findViewById(R.id.text_of_tap
}
}
Конструктор классов
public class AimsFragmentRecycler {
private String name_tittle;
private String text_of_tap;
private int image;
public AimsFragmentRecycler(String name_tittle, String text_of_tap, int image){
this.name_tittle=name_tittle;
this.text_of_tap = text_of_tap;
this.image = image;
}
public String getName() {
return this.name_tittle;
}
public void setName(String name_tittle) {
this.name_tittle = name_tittle;
}
public String getCompany() {
return this.text_of_tap;
}
public void setCompany(String text_of_tap) {
this.text_of_tap = text_of_tap;
}
public int getImage() {
return this.image;
}
public void setImage(int image) {
this.image = image;
}
}
Адаптер XML
<?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="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
<ImageView
android:id="@+id/image"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"
android:layout_width="36dp"
android:layout_height="36dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/name_tittle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"/>
<TextView
android:id="@+id/text_of_tap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"/>
</LinearLayout>