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(); } }; }