Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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 - Fatal编程技术网

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 如何将值从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

我想将此clicktemplate字符串值发送到其他类

您必须将值放入
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);