android实现简单的ListView
程序员文章站
2024-03-21 17:41:16
...
ListView是一个非常常用的组件在各种app中,也就是下拉列表.其中,LIstView中的每一个条目是可以自定义的.比如是一个图片和文字的组合.或着其他的都行.
下面我们来实现一个简单的ListView,其中的条目是自定义的一个图片和文字的组合.
首先是安排好每个条目的布局,如下
<?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"
android:orientation="horizontal">
<ImageView
android:id="@+id/nf"
android:layout_width="200dp"
android:layout_height="100dp" />
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:textColor="#32CD32"
android:textStyle="bold"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FF0000"
android:textStyle="bold"
android:text="距离上市5天"/>
</LinearLayout>
</LinearLayout>
然后自定义监听器
package com.example.creator.myapplication;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import android.content.Intent;
import java.util.List;
/**
* Created by creator on 18-6-9.
*/
public class NotificationAdapter extends ArrayAdapter {
private final int resourceId;
public NotificationAdapter(Context context, int textViewResourceId, List<Plant> objects) {
super(context, textViewResourceId, objects);
resourceId = textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Plant plant = (Plant) getItem(position); // 获取当前项的Plant实例
View view = LayoutInflater.from(getContext()).inflate(resourceId, null);//实例化一个对象
TextView plantName = (TextView) view.findViewById(R.id.name);//获取该布局内的文本视图
ImageView planTm = (ImageView) view.findViewById(R.id.nf) ;
plantName.setText(plant.getName());//为文本视图设置文本内容
planTm.setImageResource(plant.getImageId());
return view;
}
}
然后在java代码中实例化一个适配器对象
noAdapter = new NotificationAdapter(MainActivity.this, R.layout.notification, noList);
最后讲适配器和ListView绑定在一起就行
ListView listView = (ListView) view.findViewById(R.id.no_view);
listView.setAdapter(noAdapter);
效果图如下:
推荐阅读
-
android实现简单的ListView
-
Android 实现简单的ListView下拉刷新
-
Android Studio 2 - 6 RecyclerView多布局的实现
-
java单链表-带头结点和不带头结点单链表的简单实现
-
Android进阶之自定义View(2)高仿钉钉运动步数实现可动的进度圆环(上)
-
[Vue]如何实现一个简单的表格数据筛选查找 (根据ElementUI表格展示)(数组筛选)
-
环形进度条的简单实现
-
jquery 实现滑动条的简单验证
-
mybatis如何实现注解sql的简单例子 博客分类: java mybatissql注解
-
使用TensorFlow实现简单的线性回归模型