получить recylcer просмотреть предметы в счетчике в другой деятельности - PullRequest
0 голосов
/ 03 сентября 2018

Я использую retrofit2 для получения списка категорий. Я использую класс модели и адаптер для повторного использования для получения элементов категории. это работает хорошо. в другой деятельности у меня есть счетчик, чтобы показать элементы категории. Как я могу получить элементы категории в другой деятельности и показать в спиннер? заранее спасибо.

public class CatAdapter extends RecyclerView.Adapter<CatAdapter.MyViewHolder> {
    private Context context;
    private List<Category> cats;

    public CatAdapter(Context context, List<Category> cats) {
        this.context = context;
        this.cats = cats;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.cats_list, parent, false);

        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, final int position) {

        holder.cat_title.setText(cats.get(position).getTitle());
        holder.cat_content.setText(cats.get(position).getContent());
        holder.cat_qcount.setText(cats.get(position).getQcount());
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(context , CatPosts.class);
                intent.putExtra("catid",cats.get(position).getCatid());
                intent.putExtra("cattitle",cats.get(position).getTitle());
                context.startActivity(intent);
            }
        });

    }

    @Override
    public int getItemCount() {
        return cats.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView cat_title,cat_content, cat_qcount;

        public MyViewHolder(View itemView) {
            super(itemView);
            cat_title = itemView.findViewById(R.id.cat_title);
            cat_content = itemView.findViewById(R.id.cat_content);
            cat_qcount =  itemView.findViewById(R.id.cat_qcount);

        }
    }



}

Я не хочу получать предметы с намерением, потому что не нужно щелкать мышью, когда нужно поймать предметы.

У меня есть активность для отправки нового сообщения. в этом упражнении есть прядильщик, который показывает предметы кошки и пользователь выбирает категорию.

намерение адаптера отправлять данные в CatPosts при щелчке элемента. я хочу получить список кошек, когда отображается новое сообщение активности.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Если я получу вопрос, вы хотите получить доступ к списку в двух действиях. Если так, то у вас есть несколько способов

1 : сохранение в локальной базе данных или SharedPreferences

2 : используйте static переменные (простой способ)

Когда вы получите список категорий из ответа на модификацию, сохраните его в статическом списке, как показано ниже

public static List<Category> cats;

Тогда в OnResponse()

cats = response.body().getCats();

Теперь у вас есть доступ к кошкам в другой деятельности.

0 голосов
/ 03 сентября 2018

У вас все было хорошо, теперь в другом упражнении с помощью метода onCreate () сделайте следующее:

    Intent intent = getIntent();
    catId = intent.getStringExtra("catid");
    catTitle = intent.getStringExtra("cattitle");


    String[] x = new String[]{catId,catTitle};
    ArrayAdapter<String> adapterX = new ArrayAdapter<>(this, android.R.layout.your_spinner_in_xml, x);
    spinner.setAdapter(adapterX);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...