成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android中怎么利用RecyclerView實(shí)現(xiàn)數(shù)據(jù)列表展示效果

Android中怎么利用RecyclerView實(shí)現(xiàn)數(shù)據(jù)列表展示效果,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、萊山ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的萊山網(wǎng)站制作公司

1.首先導(dǎo)入依賴: 

compile 'com.android.support:recyclerview-v7:25.3.1'

2.適配器類: 

public class NewsAdapter extends RecyclerView.Adapter {
 private View view;
 private Context mcontext;
 private ArrayList<NewsData.DataBean> mlist=new ArrayList<>();

 public NewsAdapter(Context mcontext) {
  this.mcontext = mcontext;
 }

 //找到需要導(dǎo)入的布局
 @Override
 public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  view = LayoutInflater.from(mcontext).inflate(R.layout.news_item, null);
  return new ViewHolder(view);

 }
 //加載相應(yīng)的內(nèi)容
 @Override
 public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
  ViewHolder viewholder=(ViewHolder)holder;
  viewholder.textview.setText(""+getItem(position).getNews_title());
  Glide.with(mcontext).load(getItem(position).getPic_url()).into(viewholder.ima);
 }

 //手寫(xiě)的重置數(shù)據(jù)的方法
 public void setdata(ArrayList<NewsData.DataBean> list){
  if (list!=null&&list.size()>0){
   mlist.addAll(list);
  }

 }
 //手寫(xiě)的獲得視圖的方法
 public NewsData.DataBean getItem(int position){
  return mlist.get(position);

 };

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


 //定義的ViewHolder類繼承RecyclerView.ViewHolder 并找到布局中的ID
 public class ViewHolder extends RecyclerView.ViewHolder{
  private TextView textview;
  private ImageView ima;
  public ViewHolder(View itemView) {
   super(itemView);
   textview=(TextView)itemView.findViewById(R.id.tv);
   ima=(ImageView)itemView.findViewById(R.id.image);
  }
 }
}

 3.主界面(用到RecyclerView的主要是initdata()方法和Handler): 

public class MainActivity extends AppCompatActivity implements IMainView{
 private MainPresenter mainp;
 private NewsAdapter md;
 private RecyclerView recy;
 private ArrayList<NewsData.DataBean> mlist=new ArrayList<>();
 private String url="http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
 private Handler hand=new Handler(){
  @Override
  public void handleMessage(Message msg) {
   super.handleMessage(msg);
   Gson gson=new Gson();
   if (msg.what==1) {
    NewsData newsData = gson.fromJson(msg.obj.toString(), NewsData.class);
    mlist=(ArrayList<NewsData.DataBean>) newsData.getData();

    md.setdata((ArrayList<NewsData.DataBean>) mlist);
    md.notifyDataSetChanged();
   }
  }
 };
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  initview();
  initdata();
  initdatafromserver();
 }

 private void initview() {
  recy=(RecyclerView)findViewById(R.id.recy);
 }

 private void initdatafromserver() {
  //加載網(wǎng)絡(luò)數(shù)據(jù),找P層去要
  mainp.loadDataFromServer(url);

 }

 private void initdata() {
  mainp=new MainPresenter(this);
  //設(shè)置適配器
  md=new NewsAdapter(this);
  //創(chuàng)建默認(rèn)的線性LayoutManager
  recy.setLayoutManager(new LinearLayoutManager(this));
  recy.setAdapter(md);
 }

 //重寫(xiě)的IMainView類接口的兩個(gè)方法
 @Override
 public void successfulCallback(String str) {
  Message msg = Message.obtain();
  msg.what=1;
  msg.obj=str;
  hand.sendMessage(msg);
 }

 @Override
 public void errCallback(int code, String msg) {

 }
}

看完上述內(nèi)容,你們掌握Android中怎么利用RecyclerView實(shí)現(xiàn)數(shù)據(jù)列表展示效果的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁(yè)題目:Android中怎么利用RecyclerView實(shí)現(xiàn)數(shù)據(jù)列表展示效果
文章出自:http://jinyejixie.com/article36/psigpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站建站公司、網(wǎng)站內(nèi)鏈標(biāo)簽優(yōu)化、動(dòng)態(tài)網(wǎng)站、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
辽宁省| 仁化县| 正定县| 绍兴市| 阳信县| 噶尔县| 灵宝市| 开原市| 桦南县| 启东市| 大丰市| 剑河县| 高平市| 财经| 清苑县| 芜湖市| 密山市| 长沙县| 灵台县| 会泽县| 都匀市| 镇原县| 司法| 新密市| 涟源市| 泸水县| 蛟河市| 花莲县| 朝阳区| 内丘县| 仙游县| 广德县| 稷山县| 华池县| 安乡县| 抚顺县| 比如县| 汕尾市| 运城市| 彭水| 永寿县|