Android 如何将值从onItemClick RecycleView发送到其他java类 @覆盖 公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){ String clicktemplate=modelsclasseslistt.get(i).getTitle(); Toast.makeText(Template.this,modelsclasseslistt.get(i).getTitle(),Toast.LENGTH_SHORT).show(); }
我想将此clicktemplate字符串值发送到其他类 您必须将值放入Android 如何将值从onItemClick RecycleView发送到其他java类 @覆盖 公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){ String clicktemplate=modelsclasseslistt.get(i).getTitle(); Toast.makeText(Template.this,modelsclasseslistt.get(i).getTitle(),Toast.LENGTH_SHORT).show(); },android,class,variables,android-recyclerview,onitemclick,Android,Class,Variables,Android Recyclerview,Onitemclick,我想将此clicktemplate字符串值发送到其他类 您必须将值放入Intent或Bundle并发送到下一屏幕 以下是活动中传递数据的示例 @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { String clicktemplate = modelClassesListt.get(i).getTitle(); Toast.makeText
Intent
或Bundle
并发送到下一屏幕
以下是活动
中传递数据的示例
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String clicktemplate = modelClassesListt.get(i).getTitle();
Toast.makeText(Template.this ,modelClassesListt.get(i).getTitle() , Toast.LENGTH_SHORT).show();
}
在下面的屏幕中获取值
您可以使用多种方法来实现您的需求。下面的线程将对您有用
在您的recyclerview类中添加onclicklistener接口,并在构造函数中包含您的侦听器:
String value = getIntent().getExtras().getString("key_clicktemplate");
接下来,在ViewHolder中添加:
@Override
public void onBindViewHolder(MyHolder holder, int position) {
myObject currentItem = rewardsList.get(position);
holder.bindList(currentItem, listener, position);
}
最后,在调用活动/片段时:
class MyHolder extends RecyclerView.ViewHolder {
View masterView;
MyHolder(View itemView) {
super(itemView);
masterView = itemView;
}
void bindList(final myObject item, final OnItemClickListener listener, int position){
masterView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onItemClick(item, position,"edit");
}
});
通过这个()
@Override
public void onBindViewHolder(MyHolder holder, int position) {
myObject currentItem = rewardsList.get(position);
holder.bindList(currentItem, listener, position);
}
class MyHolder extends RecyclerView.ViewHolder {
View masterView;
MyHolder(View itemView) {
super(itemView);
masterView = itemView;
}
void bindList(final myObject item, final OnItemClickListener listener, int position){
masterView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onItemClick(item, position,"edit");
}
});
MyRecyclerViewAdapter adapter = new MyRecyclerViewAdapter(mActivity, list, R.layout.item, new MyRecyclerViewAdapter.OnItemClickListener() {
@Override
public void onItemClick(MyObject item, int position, String message) {
//item clicks handled here
switch (message){
case ITEM_OPEN:
// Do whatever you need with clicked item here
break;
case ITEM_EDIT:
// Do whatever you need with clicked item here
break;
}
}
}, mRecyclerView);