Android:ListView简单实例
2020-04-23 09:34
911 查看
ListView是Android中最重要的控件之一,是用于对数据进行列展示的控件。ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕内的数据则会滚动出屏幕。
实例一
效果展示:
1.样式布局文件listview_layout
<?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=".ListViewActivity"> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
2.ListViewActivity.java
public class ListViewActivity extends AppCompatActivity { private String[] data = {"Ashin","Monster","Masa","Stone","Ming","MAYDAY","You","and","I"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview_layout); ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(ListViewActivity.this,android.R.layout.simple_expandable_list_item_1,data); ListView listview = (ListView)findViewById(R.id.list_view); listview.setAdapter(myAdapter); } }
实例二
效果展示:
图片下载地址:https://www.iconfont.cn/ (可以选择自己喜欢的图)
1.listview_layout.xml 同上
2.food_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/food_image" //可以自己设置图片大小 android:layout_width="100dip" android:layout_height="100dip" /> <TextView android:id="@+id/food_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginLeft="10dip"/> </LinearLayout>
3.ListViewActivity1.java
public class ListViewActivity1 extends AppCompatActivity { private List<Food> foodList = new ArrayList<Food>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview_layout); initFood(); FoodAdapter myFoodAdapter = new FoodAdapter(ListViewActivity1.this,R.layout.food_item,foodList); ListView listView = (ListView) findViewById(R.id.list_view); listView.setAdapter(myFoodAdapter); private void initFood() { //图片存放在drawable Food burger = new Food("burger", R.drawable.burger); foodList.add(burger); Food cheese = new Food("cheese", R.drawable.cheese); foodList.add(cheese); Food cupcake = new Food("cupcake", R.drawable.cupcake); foodList.add(cupcake); Food egg = new Food("egg", R.drawable.egg); foodList.add(egg); Food honey = new Food("honey", R.drawable.honey); foodList.add(honey); Food hot_dog = new Food("hot_dog", R.drawable.hot_dog); foodList.add(hot_dog); Food ice_cream = new Food("ice_cream", R.drawable.ice_cream); foodList.add(ice_cream); Food milk = new Food("milk", R.drawable.milk); foodList.add(milk); Food ramen = new Food("ramen", R.drawable.ramen); foodList.add(ramen); } }
4.Food.java
public class Food { private String name; private int imageId; public Food(String foodname,int foodimage){ this.name = foodname; this.imageId = foodimage; } public String getName(){ return name; } public int getImageId(){ return imageId; } }
5.FoodAdapter.java
import java.util.List; public class FoodAdapter extends ArrayAdapter { private final int resourceId; public FoodAdapter(@NonNull Context context, int textViewResourceId, @NonNull List objects) { super(context,textViewResourceId, objects); resourceId = textViewResourceId; } public View getView(int position, View converView, ViewGroup parent){ Food food = (Food)getItem(position); View view; ViewHolder viewHolder; if(converView == null){ view = LayoutInflater.from(getContext()).inflate(resourceId,parent,false); viewHolder = new ViewHolder(); viewHolder.foodImage = (ImageView)view.findViewById(R.id.food_image); viewHolder.foodName = (TextView)view.findViewById(R.id.food_name); view.setTag(viewHolder); } else{ view = converView; viewHolder = (ViewHolder)view.getTag(); } viewHolder.foodImage.setImageResource(food.getImageId()); viewHolder.foodName.setText(food.getName()); return view; } class ViewHolder{ ImageView foodImage; TextView foodName; } }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Android实例demo11之listview的简单使用(arrayadapter、simpleadapter)
- Android之ListView与自定义adapter简单实例
- android ExpandableListView 简单实例
- android studio Listview简单实例
- Android的ListView简单使用的实例(附Demo)
- 获取Android签名证书的公钥和私钥的简单实例
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Android的ListView简单的自定义上拉加载
- android组件ListView之BaseAdapter简单使用
- 初识Android之简单实例
- Android安卓属性动画PropertyAnimation简单使用实例
- Android简易实战教程--第十八话《ListView显示,简单的适配器SimpleAdapter》
- Android的GridView简单使用实例(附Demo)
- android照相机简单实例
- android Jni NDK开发环境搭建及其简单实例的编写
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Android开发之ListView、GridView 实例
- android ExpandableListView简单应用及listview模拟ExpandableListView
- 【转】Android Https服务器端和客户端简单实例
- Android Service使用方法--简单音乐播放实例