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>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。