权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
activity
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener { private ProgressDialog pd;//对话框 private ListView lsitView; private List<Move.InfoListBean> data; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { lsitView = (ListView) findViewById(R.id.lsitView); data = new ArrayList<>(); pd = new ProgressDialog(this); pd.setIcon(R.mipmap.ic_launcher); pd.setTitle("提示!"); pd.setMessage("讯号传入中。。。"); pd.show(); RequestParams params = new RequestParams("http://www.moviebase.cn/uread/app/recommend/recommend?platform=2&deviceId=A8C73E0D1ED1A2BED491C9238C8FD8A0&pageContext=1&appVersion=1.7.0"); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String s) { Log.d("zdl",s); Gson gson = new Gson(); Move move = gson.fromJson(s,Move.class); data = move.getInfoList(); MyAdapter myadapter = new MyAdapter(MainActivity.this,data); lsitView.setAdapter(myadapter); pd.dismiss(); } @Override public void onError(Throwable throwable, boolean b) { } @Override public void onCancelled(CancelledException e) { } @Override public void onFinished() { } }); lsitView.setOnItemClickListener(this); } @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("详细信息"); Move.InfoListBean move = data.get(i); ImageOptions options = new ImageOptions.Builder() .setFailureDrawableId(R.mipmap.ic_launcher) .setLoadingDrawableId(R.mipmap.ic_launcher) .setIgnoreGif(false) .setUseMemCache(true) .build(); View view1 = getLayoutInflater().inflate(R.layout.item_lv,null); TextView textView = view1.findViewById(R.id.textView); textView.setText(move.getObject().getTitle()); ImageView imageView = view1.findViewById(R.id.imageView); x.image().bind(imageView,move.getObject().getImgUrl(),options); builder.setMessage(move.getObject().getTitle()); builder.setView(view1); builder.show(); } }
适配器
class MyAdapter extends BaseAdapter{ private Context context; private List<Move.InfoListBean> list; private LayoutInflater layoutInflater; public MyAdapter(Context context, List<Move.InfoListBean> list) { this.context = context; this.list = list; layoutInflater = LayoutInflater.from(context); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { MyView myView; if (view == null){ view = layoutInflater.inflate(R.layout.item_lv,null); myView = new MyView(); myView.textView = view.findViewById(R.id.textView); myView.imageView = view.findViewById(R.id.imageView); view.setTag(myView); }else{ myView = (MyView) view.getTag(); } Move.InfoListBean move = list.get(i); Move.InfoListBean.ObjectBean object = move.getObject(); myView.textView.setText(object.getTitle()); ImageOptions options = new ImageOptions.Builder() .setFailureDrawableId(R.mipmap.ic_launcher) .setLoadingDrawableId(R.mipmap.ic_launcher) .setIgnoreGif(false) .setUseMemCache(true) .build(); x.image().bind(myView.imageView,object.getImgUrl(),options); return view; } class MyView{ TextView textView; ImageView imageView; } }
TabLayout的变化
private TabLayout mTb;
//为TabLayout 设置监听器
setTitle("头条");//设置Activity 标题的方法
mTb.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
String tabName = tab.getText().toString();
setTitle(tabName);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {}
@Override
public void onTabReselected(TabLayout.Tab tab) {}
});