文章目录

  • ListView
    • activity_main.xml
    • fm_left.xml
    • fm_right.xml
    • list_item.xml
    • Animal.java
    • Fragment_left.java
    • Fragment_right.java
    • 效果图
  • RecyclerView
    • 效果图

ListView

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><fragmentandroid:name="com.twl.myapplication.Fragment_Left"android:id="@+id/fm_left"android:layout_weight="1"android:layout_width="0dp"android:layout_height="match_parent"></fragment><fragmentandroid:name="com.twl.myapplication.Fragment_Right"android:id="@+id/fm_right"android:layout_weight="3"android:layout_width="0dp"android:layout_height="match_parent"></fragment>
</LinearLayout>

fm_left.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent">
<ListViewandroid:id="@+id/lv_left"android:background="@color/C_group_2"android:layout_width="match_parent"android:layout_height="match_parent">
</ListView>
</LinearLayout>

fm_right.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:padding="20dp"android:background="@color/C_group_3"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/iv_icon"android:src="@mipmap/ic_launcher"android:layout_gravity="center"android:layout_width="100dp"android:layout_height="100dp"></ImageView><TextViewandroid:id="@+id/tv_info"android:text="测试文本"android:textSize="20dp"android:textColor="@color/C_group_5"android:layout_width="match_parent"android:layout_height="match_parent"></TextView>
</LinearLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/tv_title"android:text="测试文本"android:textSize="25dp"android:gravity="center"android:layout_width="match_parent"android:layout_height="100dp"></TextView>
</LinearLayout>

Animal.java

package com.twl.myapplication;public class Animal {private String[] names = { "小猫", "哈士奇", "小黄鸭","小鹿","老虎"};private int[]  icons= { R.drawable.cat,R.drawable.siberiankusky,R.drawable.yellowduck,R.drawable.fawn, R.drawable.tiger};private String[] introduces = {"猫,属于猫科动物,分家猫、野猫,是全世界家庭中较为广泛的宠物。","西伯利亚雪橇犬,常见别名哈士奇,昵称为二哈。","鸭的体型相对较小,颈短,一些属的嘴要大些。腿位于身体后方,因而步态蹒跚。","鹿科是哺乳纲偶蹄目下的一科动物。体型大小不等,为有角的反刍类。","虎,大型猫科动物;毛色浅黄或棕黄色,满有黑色横纹;头圆、耳短,耳背面黑色,中央有一白斑甚显著;四肢健壮有力;尾粗长,具黑色环纹,尾端黑色。"};public String[] getNames() {return names;}public int[] getIcons() {return icons;}public String[] getIntroduces() {return introduces;}
}

Fragment_left.java

public class Fragment_Left extends Fragment {private TextView tv_name,tv_info;private ImageView iv_icon;private View view;private int[] setIcon;private String[] setName;private String[] setInfo;private ListView listView;@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {view=inflater.inflate(R.layout.fm_left,container,false);Animal animal=new Animal();setName=animal.getNames();setIcon=animal.getIcons();setInfo=animal.getIntroduces();if (view!=null){listView=view.findViewById(R.id.lv_left);if (setName!=null){listView.setAdapter(new MyAdapter());}}listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {Fragment_Right fr=(Fragment_Right)((MainActivity)getActivity()).getSupportFragmentManager().findFragmentById(R.id.fm_right);fr.setText(setInfo[position]);fr.setImageResource(setIcon[position]);}});return view;}public class MyAdapter extends BaseAdapter{@Overridepublic int getCount() {return setIcon.length;}@Overridepublic Object getItem(int position) {return setIcon[position];}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {convertView=View.inflate(getActivity(),R.layout.list_item,null);tv_name=convertView.findViewById(R.id.tv_title);tv_name.setText(setName[position]);return convertView;}}
}

Fragment_right.java

public class Fragment_Right extends Fragment {private TextView tv_info;private ImageView iv_icon;private View view;@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {view=inflater.inflate(R.layout.fm_right,container,false);if (view!=null){tv_info=view.findViewById(R.id.tv_info);iv_icon=view.findViewById(R.id.iv_icon);}setText(new Animal().getIntroduces()[0]);setImageResource(new Animal().getIcons()[0]);return view;}public void setText(String text){tv_info.setText(text);}public void setImageResource(int id){iv_icon.setImageResource(id);}
}

效果图

RecyclerView

public class Fragment_Left extends Fragment {private TextView tv_name;private View view;private int[] setIcon;private String[] setName;private String[] setInfo;private RecyclerView recyclerView;@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {view=inflater.inflate(R.layout.fm_left,container,false);Animal animal=new Animal();setName=animal.getNames();setIcon=animal.getIcons();setInfo=animal.getIntroduces();if (view!=null){recyclerView=view.findViewById(R.id.lv_left);if (setName!=null){recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),setIcon.length));recyclerView.setAdapter(new MyAdapter());}}return view;}public class MyAdapter extends RecyclerView.Adapter<MyHolder>{@NonNull@Overridepublic MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {View view=View.inflate(getActivity(),R.layout.list_item,null);MyHolder myHolder=new MyHolder(view);return myHolder;}@Overridepublic void onBindViewHolder(@NonNull MyHolder holder, int position) {holder.tv_name.setText(setName[position]);holder.itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Fragment_Right fr=(Fragment_Right)((MainActivity)getActivity()).getSupportFragmentManager().findFragmentById(R.id.fm_right);fr.setText(setInfo[position]);fr.setImageResource(setIcon[position]);}});}@Overridepublic int getItemCount() {return setIcon.length;}}private class MyHolder extends RecyclerView.ViewHolder{TextView tv_name;public MyHolder(@NonNull View itemView) {super(itemView);tv_name=itemView.findViewById(R.id.tv_title);}}
}

效果图

使用Fragment和ListView、RecyclerV实现动物信息显示相关推荐

  1. Android Fragment中ListView的OnItemClickListener无效

    2019独角兽企业重金招聘Python工程师标准>>> 人可能会变,但代码不一样,一个地方出错说不执行就是不执行. 网上说是ListView的 OnItemClick监听失效的原因. ...

  2. fragment中listview触发事件setOnItemClickListener不好使

    <listView/>中// listview点击 ,高度wrap_content改成fill_prarent 转载于:https://www.cnblogs.com/zhujiabin/ ...

  3. fragment使用ListView及自定义Listview等初始化操作

    http://blog.sina.com.cn/s/blog_70c281df0101efin.html

  4. 在Fragment中使用Listview

    Fragment中使用ListView 刚接触Fragment,然后再用到ListView的时候真的是遇到了各种问题,原来Fragment中使用ListView和在Activity中在细节上有很多不同 ...

  5. 如何在fragment中添加ListView,并设置ListView中条目的值

    最后界面如下: 制作思路:首先在一个Activity中做出左右fragment(碎片的意思),然后再在左边的fragment中加入ListView控件,再用编程的方法给ListView控件设置条目,即 ...

  6. Fragment 中使用 getLayoutInflater() 的问题

    问题: 我想在一个Fragment的ListView中显示我的搜索结果 但在这里报错: LayoutInflater inflater = getLayoutInflater(); "The ...

  7. android 中radiogroup滑动切换,巧妙实现缺角radiogroup控制多个fragment切换和滑动

    在android开发中,用一个radiogroup控制多个fragment切换是十分常见的需求.但是如果fragment是一个ListView,如何保证滑动的时候通过缺角可以看到下面的listview ...

  8. fragment中嵌套viewpager,vierpager中用fragment不显示数据

    问题: fragment中有一个viewpager viewpager中存放fragment fragment中有listview 但是不显示数据,一片空白 解决: 在传递pagerAdapter 的 ...

  9. Fragment 和 FragmentActivity的使用(二)

    今天继续完成剩下的学习部分,现在项目很多地方使用viewpager来提供滑动,今天记录学习viewpager配合fragment的显示,增加一个CallLogsFragment配合之前SMSListF ...

  10. Android Studio初学者实例:Fragment学习--仿美团外卖界面

    本次课程为Fragment为主题,课程的示例仿美团外卖界面,不同于底部导航栏的Fragment案例,此界面分为左侧切换与顶部切换.本文先是发布代码与效果,后续讲解将会在后续补充.先看看效果: 首先是布 ...

最新文章

  1. 计算机联系函范文,致客户联络函
  2. extjs html页面刷新,ExtJS onReady引发的浏览器对页面的加载过程
  3. Java 开发常用类库和API
  4. UVAPOJ离散概率与数学期望入门练习[4]
  5. 贼好用的Java工具类库,GitHub星标10k+,你在用吗?
  6. 开源协议栈 rlc rrc_LTE的组网架构与接口协议
  7. linux线程切换回调函数,linux C线程退出回调函数
  8. vnpy怎么创建策略并回测_基于vnpy、rqdata的回测打通历程
  9. Mac/Linux使用fcrackzip
  10. Java Netty 初步
  11. 爬取mm131套图并下载到本地
  12. matlab2c使用c++实现matlab函数系列教程-pascal函数
  13. 说ViewHolder
  14. 计算机系统汉字编码分为,计算机中的汉字编码
  15. 正则表达式匹配连续出现的单词
  16. 简单密码(Caesar密码)--C++实现
  17. gaussDB200 单节点安装
  18. ios多线程浅谈和使用
  19. Ubuntu20.04 Deep-wine容器下载地址
  20. ESP32C3基于Arduino框架下的 ESP32 RainMaker开发示例教程

热门文章

  1. 拼图游戏怎样切换代码html,HTML5技术之图像处理:一个滑动的拼图游戏-H5教程
  2. linux tail 命令 阿星小栈
  3. java计算机毕业设计会议查询系统源程序+mysql+系统+lw文档+远程调试
  4. 安装Kali Linux渗透系统
  5. 实体类[notmapped]特殊 “The specified type member ‘‘ is not supported in LINQ to Entities. Only...
  6. 模拟版图layout能否转数字IC后端实现?
  7. 【Unity破事水】如何实现线上试卷选择题的选项
  8. 查看 设置mysql时区
  9. 4核处理器_苹果电脑便宜卖!4核i5处理器,480G固态硬盘,带刻录,13.4寸,双系统...
  10. C语言基础知识梳理总结