多布局

main

public class Main2Activity extends AppCompatActivity {

    private String mUrl = "http://v.juhe.cn/toutiao/index?type=top&key=097060266650f67b2cebd2a06aded587";
    private RecyclerView mRecy;
    private List<MyData.ResultBean.DataBean> mList = new ArrayList<>();

    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            String jsonStr = (String) msg.obj;
            Gson gson = new Gson();
            MyData myData = gson.fromJson(jsonStr, MyData.class);
            mList = myData.getResult().getData();
            mAdapter = new MyAdapter(mList, Main2Activity.this);
            mRecy.setAdapter(mAdapter);
            mAdapter.setOnItemListener(new MyAdapter.OnItemClick() {
                @Override
                public void setOnItem(View v, int position) {
                    Toast.makeText(Main2Activity.this, mList.get(position).getTitle(), Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(Main2Activity.this,Main3Activity.class);
                    intent.putExtra("mmm",mList.get(position).getTitle());
                    intent.putExtra("nnn",mList.get(position).getThumbnail_pic_s());
                    startActivity(intent);
                }
            });
        }
    };
    private MyAdapter mAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        initView();
        getInfo();
    }

    private void initView() {
        mRecy = (RecyclerView) findViewById(R.id.recyclerView);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(Main2Activity.this);
        mRecy.setLayoutManager(linearLayoutManager);

    }

    private void getInfo() {
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder().url(mUrl).build();
        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                Message msg = new Message();
                msg.obj = response.body().string();
                mHandler.sendMessage(msg);
            }
        });

    }
}
adapter
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements View.OnClickListener {
    private List<MyData.ResultBean.DataBean> mList;
    private Context mContext;
    private final static int ITEM_ONE = 1;
    private final static int ITEM_TWO = 2;

    public MyAdapter(List<MyData.ResultBean.DataBean> mList, Context mContext) {
        this.mList = mList;
        this.mContext = mContext;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(mContext);
        View view;
        RecyclerView.ViewHolder holder;
        if (viewType == ITEM_ONE) {
            view = inflater.inflate(R.layout.xml_one, parent, false);
            holder = new HolderOne(view);
        } else {
            view = inflater.inflate(R.layout.xml_two, parent, false);
            holder = new HolderTwo(view);
        }
        view.setOnClickListener(this);
        return holder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        MyData.ResultBean.DataBean dataBean = mList.get(position);
        if (holder instanceof HolderOne) {
            ((HolderOne) holder).mTextOne.setText(dataBean.getTitle());
            Picasso.with(mContext).load(dataBean.getThumbnail_pic_s()).into(((HolderOne) holder).mImageOne);
            ((HolderOne) holder).itemView.setTag(position);
        } else {
            ((HolderTwo) holder).mTextTwo.setText(dataBean.getTitle());
            Picasso.with(mContext).load(dataBean.getThumbnail_pic_s()).into(((HolderTwo) holder).mImageTwo);
            ((HolderTwo) holder).itemView.setTag(position);
        }
    }

    @Override
    public int getItemCount() {
        return mList.isEmpty() ? 0 : mList.size();
    }


    @Override
    public int getItemViewType(int position) {
        if (position % 2 == 0) {
            return ITEM_ONE;
        } else {
            return ITEM_TWO;
        }
    }


    class HolderOne extends RecyclerView.ViewHolder {
        private TextView mTextOne;
        private ImageView mImageOne;

        public HolderOne(View itemView) {
            super(itemView);
            mTextOne = (TextView) itemView.findViewById(R.id.text_one);
            mImageOne = (ImageView) itemView.findViewById(R.id.image_one);
        }
    }

    class HolderTwo extends RecyclerView.ViewHolder {
        private TextView mTextTwo;
        private ImageView mImageTwo;

        public HolderTwo(View itemView) {
            super(itemView);
            mTextTwo = (TextView) itemView.findViewById(R.id.text_two);
            mImageTwo = (ImageView) itemView.findViewById(R.id.image_two);
        }
    }

    public interface OnItemClick {
        void setOnItem(View v, int position);
    }

    private OnItemClick onitem;

    @Override
    public void onClick(View v) {
        if (onitem != null) {
            onitem.setOnItem(v, (int) v.getTag());
        }
    }

    public void setOnItemListener(OnItemClick item) {
        this.onitem = item;
    }
}
main2
 
public class Main3Activity extends AppCompatActivity implements View.OnClickListener {

    private Button btn;
    private ImageView image;
    private TextView text;
    String nnn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        initView();
        Intent intent = getIntent();
        nnn = intent.getStringExtra("nnn");
        String mmm = intent.getStringExtra("mmm");

        Picasso.with(Main3Activity.this).load(nnn).into(image);
        text.setText(mmm);

        if(Build.VERSION.SDK_INT>=23){
            String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CALL_PHONE,Manifest.permission.READ_LOGS,Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.SET_DEBUG_APP,Manifest.permission.SYSTEM_ALERT_WINDOW,Manifest.permission.GET_ACCOUNTS,Manifest.permission.WRITE_APN_SETTINGS};
            ActivityCompat.requestPermissions(this,mPermissionList,123);
        }

    }
    @Override
    public void onRequestPermissionsResult(int requestCode,
                                           String permissions[], int[] grantResults) {


    }

    private void initView() {
        btn = (Button) findViewById(R.id.btn);
        image = (ImageView) findViewById(R.id.image);
        text = (TextView) findViewById(R.id.text);

        btn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn:
                new ShareAction(Main3Activity.this)
                        .withText("hello")
                        .setDisplayList(SHARE_MEDIA.SINA, SHARE_MEDIA.QQ, SHARE_MEDIA.WEIXIN)
                        .setCallback(shareListener)
                        .withMedia(new UMImage(Main3Activity.this, nnn))
                        .open();
                break;
        }
    }
    private UMShareListener shareListener = new UMShareListener() {
        /**
         * @descrption 分享开始的回调
         * @param platform 平台类型
         */
        @Override
        public void onStart(SHARE_MEDIA platform) {

        }

        /**
         * @descrption 分享成功的回调
         * @param platform 平台类型
         */
        @Override
        public void onResult(SHARE_MEDIA platform) {
            Toast.makeText(Main3Activity.this,"成功了",Toast.LENGTH_LONG).show();
        }

        /**
         * @descrption 分享失败的回调
         * @param platform 平台类型
         * @param t 错误原因
         */
        @Override
        public void onError(SHARE_MEDIA platform, Throwable t) {
            Toast.makeText(Main3Activity.this,"失败"+t.getMessage(),Toast.LENGTH_LONG).show();
        }

        /**
         * @descrption 分享取消的回调
         * @param platform 平台类型
         */
        @Override
        public void onCancel(SHARE_MEDIA platform) {
            Toast.makeText(Main3Activity.this,"取消了",Toast.LENGTH_LONG).show();

        }
    };
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值