recyclerview点击进入详情

来源:互联网 发布:网络安全策略模型 编辑:程序博客网 时间:2024/06/02 07:52
主函数页面是个frangment和radiogroup合成的切换界面
public class Fragmentfour extends Fragment{

    private RecyclerView recyclerView;
    private String url="http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.billboard.billList&type=1&size=10&offset=1";
    private  List<Mysupclass.SongListBean> list;
    private  FourAdapter fourAdapter;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = View.inflate(getActivity(), R.layout.fragmentthree_layout, null);


         recyclerView = view.findViewById(R.id.recyclerview);

        getData();
        recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),2));

        return view;
    }
    public void getData(){
        OkHttp3Utils.getInstance().doGet(url, new GsonObjectCallback<Mysupclass>() {
            @Override
            public void onUi(Mysupclass mysupclass) {
               list = mysupclass.getSong_list();
               fourAdapter = new FourAdapter(getActivity(), list);
                recyclerView.setAdapter(fourAdapter);
                fourAdapter.setOnItemClickLitener(new OnItemClickLitener() {
                    @Override
                    public void onItemClick(View view, int position) {

                        Intent intent = new Intent(getActivity(), SuccessActivity.class);

//                        String si_proxycompany = list.get(position).getSi_proxycompany();
//                        String country = list.get(position).getCountry();
//                        intent.putExtra("si",si_proxycompany);
//                        intent.putExtra("country",country);

                        Mysupclass.SongListBean songListBean = list.get(position);
                        Bundle bundle = new Bundle();
                        bundle.putString("song",songListBean.toString());
                        intent.putExtras(bundle);
                        startActivity(intent);

                    }

                    @Override
                    public void onItemLongClick(View view, int position) {

                    }
                });

            }

            @Override
            public void onFailed(Call call, IOException e) {

            }
        });

    }


}

适配器

public class FourAdapter extends RecyclerView.Adapter<FourAdapter.MyViewHolder>
{

    private Context context;
    private List<Mysupclass.SongListBean> list;



    public FourAdapter(Context context, List<Mysupclass.SongListBean> list) {
        this.context = context;
        this.list = list;
    }
    public OnItemClickLitener mOnItemClickLitener;

    public void setOnItemClickLitener(OnItemClickLitener mOnItemClickLitener)
    {
        this.mOnItemClickLitener = mOnItemClickLitener;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
    {

    MyViewHolder holder = new MyViewHolder(LayoutInflater.from(
                context).inflate(R.layout.item_grid, parent,
                false));
        return holder;
    }

    @Override
    public void onBindViewHolder(final MyViewHolder holder, int position)
    {
        String pic_small = list.get(position).getPic_small();
        ImageLoader.getInstance().displayImage(pic_small,holder.img_grid);


        if (mOnItemClickLitener != null)
        {
            holder.itemView.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v)
                {
                    int pos = holder.getLayoutPosition();
                    mOnItemClickLitener.onItemClick(holder.itemView, pos);
                }
            });

            holder.itemView.setOnLongClickListener(new View.OnLongClickListener()
            {
                @Override
                public boolean onLongClick(View v)
                {
                    int pos = holder.getLayoutPosition();
                    mOnItemClickLitener.onItemLongClick(holder.itemView, pos);
                    return false;
                }
            });
        }


    }

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

    class MyViewHolder extends RecyclerView.ViewHolder
    {

        ImageView img_grid;

        public MyViewHolder(View view)
        {
            super(view);
             img_grid=view.findViewById(R.id.img_grid);
        }
    }
}

点击进入的页面

public class SuccessActivity extends AppCompatActivity {

    private  TextView ncountry,nsi;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_success);
        ncountry = (TextView) findViewById(R.id.country);
        nsi= (TextView) findViewById(R.id.si);

//        String si = getIntent().getStringExtra("si");
//        String country = getIntent().getStringExtra("country");
//        ncountry.setText(country);
//        nsi.setText(si);

        Bundle bundle = getIntent().getExtras();

        Serializable song = bundle.getSerializable("song");


    }
}

点击进入的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_success"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.yuekaomoni20171025.SuccessActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/country"

        />

    <TextView
        android:layout_below="@+id/country"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/si"
        android:text="ssssssss"
        />
</RelativeLayout>


max 布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/imgshow"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20dp"
        android:id="@+id/tv_title"
        android:text="sssss"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        />
</LinearLayout>

gird 布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:src="@mipmap/ic_launcher"
        android:id="@+id/img_grid"
        />
</LinearLayout>

banner 布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="150dp">
    <com.youth.banner.Banner
        android:id="@+id/mybanner"
        android:layout_width="match_parent"
        android:layout_height="150dp"></com.youth.banner.Banner>
</LinearLayout>

success布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_success"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.yuekaomoni20171025.SuccessActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/country"

        />

    <TextView
        android:layout_below="@+id/country"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/si"
        android:text="ssssssss"
        />
</RelativeLayout>

阅读全文
0 0
原创粉丝点击