当前位置: 首页 > news >正文

郑州做网站和域名阿里大数据官网

郑州做网站和域名,阿里大数据官网,网页设计综合案例,网站建设公司是什么一、前言: 因为工作一直在用mvvm框架,因此这篇文章是基于mvvm框架写的。在Fragment复制之前一定要谨记项目可以跑起来。确保能跑起来之后直接复制就行。 二、代码展示: 页面布局 ?xml version"1.0" encoding"utf-8"…

一、前言:

因为工作一直在用mvvm框架,因此这篇文章是基于mvvm框架写的。在Fragment复制之前一定要谨记项目可以跑起来。确保能跑起来之后直接复制就行。

二、代码展示:

页面布局

?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><data><variablename="viewModel"type="com.example.simplenotebook.ui.functionpage.regist.RegistViewModel" /></data><FrameLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"tools:context=".ui.functionpage.regist.RegistFragment"><!--学习练习--><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent" /></FrameLayout>
</layout>

item的页面布局:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:layout_marginTop="10dp"android:layout_marginRight="20dp"android:background="@color/white"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:roundPercent="0.2"><TextViewandroid:id="@+id/tv"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginLeft="15dp"android:gravity="center_vertical"android:textColor="#3D3D3D"android:textSize="14sp" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.constraintlayout.widget.ConstraintLayout></layout>

在java代码中的使用:

新建一个UserBean.java

public class UserBean {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}
}
public class RegistFragment extends Fragment {private RegistViewModel viewModel;private FragmentRegistBinding binding;private ListView myListView;@Overridepublic void onStart() {super.onStart();}@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);viewModel = new ViewModelProvider(this).get(RegistViewModel.class);}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {if (binding == null) {binding = FragmentRegistBinding.inflate(inflater,container,false);binding.setViewModel(viewModel);//一定要在xml的<data>中申明好才可以setViewModelbinding.setLifecycleOwner(this);myListView = binding.lv;myListView.setAdapter(new myAdapter(viewModel.userList,getContext()));myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {Log.d("TAG", "onItemClick: "+i);}});}View rootView = binding.getRoot();return rootView;}/*** 给ListView设置适配器*/public class myAdapter extends BaseAdapter{private List<UserBean> list;private Context context;//下面把数据显示到平台上会有用到这个参数public myAdapter(List<UserBean> list, Context context) {//创建构造方法this.list = list;this.context = context;}@Overridepublic int getCount() {//listView能够显示多少数据,,一般是list有多少数据就会显示多少数据return list.size();}@Overridepublic Object getItem(int i) {return null;}@Overridepublic long getItemId(int i) {return i;}@Overridepublic View getView(int i, View view, ViewGroup viewGroup) {//把数据显示到界面上//1.拿到布局文件,为了方式view不停创建我们需要做一个判断,当view为空的时候再去创建ViewHoder viewHoder;if (view == null) {//每次都要去找这个控件比较耗时,如何解决呢?我们需要创建一个viewHoderviewHoder = new ViewHoder();view = LayoutInflater.from(context).inflate(R.layout.item_home,viewGroup,false);viewHoder.textView = view.findViewById(R.id.tv);view.setTag(viewHoder);}else {viewHoder = (ViewHoder) view.getTag();}//2.拿到textView,把值传给textView
//            TextView textView = view.findViewById(R.id.tv);viewHoder.textView.setText(list.get(i).getName());Log.i("TAG", "getView: "+i);//3.把view返回出去return view;}}private final class ViewHoder{TextView textView;}
}

Fragmennt对应的view Model


public class RegistViewModel extends ViewModel {public List<UserBean> userList = new ArrayList<>();public void setData(){for (int i = 0; i < 100; i++) {UserBean ub = new UserBean();ub.setName("流沔"+i);userList.add(ub);}}
}

三、效果展示:

http://www.hkea.cn/news/58745/

相关文章:

  • 征信报告优化大师好用吗
  • 一个ip地址做多个网站网络营销公司是做什么的
  • 赤峰网站建设公司旅行网站排名
  • seo网站优化工具软件拉新推广平台
  • 政府网站设计方案无锡网站制作优化
  • 社交网站盈利吗如何在各种网站投放广告
  • 建设工程合同民法典东莞快速优化排名
  • 泗县口碑营销互联网营销推荐咨询青岛seo计费
  • 做电影网站用什么服务器中文域名注册官网入口
  • 做网站那里好win10系统优化工具
  • 做外贸上哪些网站找客户口碑营销的概念是什么
  • 外贸建站magento百度地图推广
  • 做网站和管理系统全网热度指数
  • 网站的压力测试怎么做网络营销的目的是什么
  • 网站建设如何更加稳定seo优化前景
  • 网站速度诊断 慢seo chinaz
  • 企业网站建设合同搜索引擎优化关键词的处理
  • 做翻译的网站私人做网站
  • 广东两学一做考学网站百度网盘app免费下载安装老版本
  • 淄博有做网站的吗百度推广有哪些形式
  • 增值税怎么算免费seo快速排名系统
  • 响应式电商网站制作全网
  • 国内b2b网站a片长春做网站推广的公司
  • 网页制作视频的网站建设引擎优化seo怎么做
  • 吉林省建设厅证件查询网站今日热搜
  • 做熟食的网站美食网站搜索引擎推广方案案例
  • 企业模板网站推广优化平台
  • 赣州做网站的网站优化技术
  • 设计网站大全网公司推广咨询
  • 北京网站建设价格上海关键词排名优化公司