Как начать новый вид деятельности из переработчика? - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу начать новое действие, а также передавать данные JSON в новое действие, когда я щелкаю элемент в представлении реселлера.Я следил за видео в YouTube: https://www.youtube.com/watch?v=OfsiccfUWVc&index=6&list=PLaoF-xhnnrRW_FGeacuT1VLqnRMKfpp4v, но видео не показывало, как перейти к новому действию, как только я щелкнул по пункту в обзоре переработчика.из видео я хотел нажать на элемент, а затем новое действие приведет меня к «более подробной странице» об элементе.

Я пытался выполнить намерение, но я не уверен, как позвонить с нового основного действия

это мой код адаптера:

public class LonghouseAdapter extends RecyclerView.Adapter<LonghouseViewHolder> {

Context context;
List<LonghousesCategoryOne> longhousesCategoryOneList;
List<Category> categories;
private OnItemClickListener mlistener;


public LonghouseAdapter(Context context, List<LonghousesCategoryOne> longhousesCategoryOneList) {
    this.context = context;
    this.longhousesCategoryOneList = longhousesCategoryOneList;
}

@NonNull
@Override
public LonghouseViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.from(context).inflate(R.layout.longhouse_item_layout,null);
    return new LonghouseViewHolder(itemView);
}

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

    holder.txt_price.setText(new StringBuilder("").append(longhousesCategoryOneList.get(position).Price));
    holder.txt_longhouse_name.setText(new StringBuilder("").append(longhousesCategoryOneList.get(position).Name));

    Picasso.with(context)
            .load(longhousesCategoryOneList.get(position).Link)
            .into(holder.img_longhouse);

    holder.setItemClickListener(new IItemClickListener() {
        @Override
        public void onClick(View v) {

           Common.currentCategory = categories.get(position);

           context.startActivity(new Intent(context, descriptionsActivity.class));
        }
    });


}

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

это мойкод держателя:

public class LonghouseViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

ImageView img_longhouse;
TextView txt_longhouse_name, txt_price;



public void setItemClickListener(IItemClickListener itemClickListener) {
    this.itemClickListener = itemClickListener;
}

IItemClickListener itemClickListener;


public LonghouseViewHolder(View itemView) {
    super(itemView);

    img_longhouse = (ImageView) itemView.findViewById(R.id.image_longhouse);
    txt_longhouse_name = (TextView) itemView.findViewById(R.id.txt_longhouse_name);
    txt_price = (TextView) itemView.findViewById(R.id.txt_longhouse_price);

    itemView.setOnClickListener(this);


}

@Override
public void onClick(View v) {

    itemClickListener.onClick(v);
}
}

в моем описании действия, как мне установить элемент для моего представления XML? пока я это сделал.

public class descriptionsActivity extends AppCompatActivity {

retreatSecondApi mservice;
ImageView img_longhouse;
TextView txt_longhouse_description, txt_price;
Context context;
List<LonghousesCategoryOne> longhousesCategoryOneList;

CompositeDisposable compositeDisposable = new CompositeDisposable();

@Override
protected void onCreate(Bundle savedInstanceState) {

    mservice = Common.getAPI();

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_descriptions);

    img_longhouse = (ImageView)findViewById(R.id.placeImageView);
    txt_longhouse_description = (TextView)findViewById(R.id.placeDescTextView);
    txt_price = (TextView)findViewById(R.id.txt_longhouse_price);

    txt_longhouse_description.setText()

}


}

Кто-нибудь может мне помочь в этом?Спасибо

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

решил это, поэтому в моем представлении держателя:

  holder.setItemClickListener(new IItemClickListener() {
        @Override
        public void onClick(View v) {

            Common.longhousedesc  = longhousesCategoryOneList.get(position);



           context.startActivity(new Intent(context, descriptionsActivity.class));
        }
        });

и в моем новом действии я привязываю данные к своему представлению xml следующим образом:

txt_longhouse_description.setText(Common.longhousedesc.descriptions);
0 голосов
/ 11 февраля 2019

Как рекомендует @rgaraisayev в вашем onClick () слушатель раскомментирует вызов startActivity () т.е.

holder.setItemClickListener(new IItemClickListener() {
    @Override
    public void onClick(View v) {
        Common.currentCategory = categories.get(position);
        context.startActivity(new Intent(context, descriptionsActivity.class));
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...