android studio实验三 ListView组件的使用
一、实验目的掌握AndroidListView组件的使用和图文列表项布局的使用二、实验设备及器件Android Studio三、实验内容1.创建一个Android应用,创建一个Android应用,创建MainActivity。2.在布局文件里写入ListView组件。3.在MainActivity写入ListView的初始化代码。4.完成复杂的带图片、标题和消息文本的ListView列表项布局,如
·
一、实验目的
掌握Android ListView组件的使用和图文列表项布局的使用
二、实验设备及器件
Android Studio
三、实验内容
1.创建一个Android应用,创建一个Android应用,创建MainActivity。
2.在布局文件里写入ListView组件。
3.在MainActivity写入ListView的初始化代码。
4.完成复杂的带图片、标题和消息文本的ListView列表项布局,如下图四、实验步骤
1、创建工程:
2、修改activity_main
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="com.example.administrator.diyici.diyici">
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fastScrollEnabled="true"
//滚动
></ListView>
</RelativeLayout>
3、修改MainActivity初始化 ListView的代码 我的包名 是diyici 这是最终的
package com.example.administrator.diyici;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class diyici extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diyici);
ListView lv = (ListView) findViewById(R.id.lv);
lv.setAdapter(new MyListAdapter());
// ListView需要访问什么数据,都是吩咐Adapter帮忙去访问数据的
// Adapter只负责提供数据,ListView只负责展示数据
// Adapter做的工作,就是帮ListView去适配数据源的
}
private class MyListAdapter extends BaseAdapter {
@Override
public int getCount() {
return 50;
}
//重复50个
@Override
//大概是找item 先找item再找是那个item
public Object getItem(int position) {
return null;
}
@Override
//大概识别item的名字 比如第几个item ListView中会有很多个item这里就设置了50个
public long getItemId(int position) {
return 0;
}
/**
* 列表项初始化
*
* @param position
* @param convertView
* @param parent
* @return
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。
View view;
if (convertView == null) {
// 当convertView为空,也就是没有废弃已缓存的view时,
// 将调用LayoutInflater的inflate()方法加载出来布局view
// System.out.println("创建新的view对象---"+position);
view = View.inflate(diyici.this,R.layout.item,null);
} else {
// 当convertView不为空时,我们就直接用convertView了,
// 而不需要再次调用LayoutInflater的inflate()方法加载出来布局view
// System.out.println("复用历史缓存 对象---" + position);
view = convertView;
}
return view;
}
}
}
4、完成复杂ListView的编写
(1)复制flower.jpg图片到项目的drawable目录
(2)加入item.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/tupian"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/flower"/>
<TextView
android:id="@+id/biaoti"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tupian"
android:text="这是标题"
android:textColor="#000000"
android:textSize="20sp"
/>
<TextView
android:id="@+id/neirong"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tupian"
android:layout_below="@+id/biaoti"
android:text="这是消息这是消息"
android:textColor="#999999"
android:textSize="15sp"
/>
</RelativeLayout>
运行查看最终效果:
篮奏云apk地址:
https://rod.lanzous.com/b0dk28ida
密码:6k50
更多推荐
已为社区贡献3条内容
所有评论(0)