recyclerview解析路径json的点击事件


//activity实现接口

public interface MyItemClickListener {
    public void onItemClick(View view, int postion);
}
 
//activity
 
public class MainActivity extends AppCompatActivity implements Main,MyItemClickListener{

    private RecyclerView recycler_view;
    private MyAdapter adapter;
    private List<MyDataBean.TuijianEntity.ListEntity> list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        recycler_view = (RecyclerView) findViewById(R.id.recycler_view);
        String url="https://www.zhaoapi.cn/ad/getAd";
        Presenter p = new Presenter(this);
        p.getUrl(url);
        
    }

    @Override
    public void getStringJson(final String json) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                MyDataBean myDataBean = new Gson().fromJson(json, MyDataBean.class);
                list = myDataBean.getTuijian().getList();
                recycler_view.setLayoutManager(new LinearLayoutManager(MainActivity.this));
                adapter = new MyAdapter(MainActivity.this, list);
                recycler_view.setAdapter(adapter);
                MyItemClickListener listener = new MyItemClickListener() {
                    @Override
                    public void onItemClick(View view, int postion) {
                        int pid = list.get(postion).getPid();

                        Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                        intent.putExtra("pid",pid+"");
                        startActivity(intent);
                    }
                };
                adapter.setOnItemClickListener(this,listener);
            }
        });
    }
}

//MyAdapter适配器
package com.bwie.mydijishijian.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.bwie.mydijishijian.R;
import com.bwie.mydijishijian.bean.MyDataBean;
import com.bwie.mydijishijian.holder.MyViewHolder;

import java.util.List;


public class MyAdapter extends RecyclerView.Adapter<MyViewHolder>{
    private final Context context;
    private final List<MyDataBean.TuijianEntity.ListEntity> list;
    private MyItemClickListener listener;
    private Runnable runnable;

    public MyAdapter(Context context, List<MyDataBean.TuijianEntity.ListEntity> list) {

        this.context = context;
        this.list = list;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_linear, parent, false);
        MyViewHolder holder = new MyViewHolder(view,runnable,listener);
        return holder;
    }
    /*public void setOnItemClickListener(MyItemClickListener listener){
        this.listener = listener;
    }*/
    public void setOnItemClickListener(Runnable runnable,MyItemClickListener listener) {

        this.runnable = runnable;
        this.listener = listener;
    }
    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {

        holder.text_view.setText(list.get(position).getTitle());
    }

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


}


//MyViewHolder实现OnClickListener

public interface OnClickListener {
    public void onClick(View v);
}

//MyViewHolder获取控件
package com.bwie.mydijishijian.holder;

import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.bwie.mydijishijian.R;
import com.bwie.mydijishijian.adapter.MyItemClickListener;

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

    public ImageView image_view;
    public TextView text_view;
    public Runnable listener;
    public MyItemClickListener mylistener;
    public MyViewHolder(View itemView, Runnable listener, MyItemClickListener mylistener) {
        super(itemView);
        image_view = itemView.findViewById(R.id.image_view);
        text_view = itemView.findViewById(R.id.text_view);
        this.listener = listener;
        this.mylistener = mylistener;
        itemView.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        if(mylistener != null){
            mylistener.onItemClick(view,getPosition());
            Log.d("++++","dfg");
        }
    }
}
 
//activity
 
 
android:orientation="vertical"
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textSize="25sp"
        android:text="商品"/>

    <ImageView
        android:id="@+id/image_btn"
        android:layout_margin="10dp"
        android:clickable="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:src="@drawable/lv_icon"/>
</RelativeLayout>
<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/swipe_refresh"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>

 
 
 
 
 
 
 
 
 
 
 
 


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值