前言
人情似水分高下,世事如云任卷舒。
目标:展示应该列表和详情
1 listview 列表展示,图片文字标题
2 webview 详情展示
关键字
listview,adapter,,,,
一、listView是什么
在日常开发中列表展示是基础的功能,所以学习listview是必须的
二、如何实现
样式xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/set_list_view_id"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon_image_view"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@mipmap/ic_launcher"/>
<TextView
android:id="@+id/app_name_message"
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="center_vertical"
android:paddingLeft="6dp"
android:text="@string/app_name"/>
</LinearLayout>
数据处理
package com.example.administrator.myapplication.handler;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.transition.Scene;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.example.administrator.myapplication.R;
import com.example.administrator.myapplication.utils.L;
import java.util.ArrayList;
import java.util.List;
/**
* @ClassName HanderOneActivity
* @Author xiaojinlu1990@163.com
* @Date 时间
* @Description 列表展示
* @Version 1.0.0
*/
public class ListViewActivity extends AppCompatActivity {
/**
* 步奏
* 1 在layout创建ListView (activity_list_view.xml)
* 2 创建每一行layout (activity_app_list.xml)
* 3 对应创建每一行数据
* 4 adapter数据填充到每一行
* */
private ListView mListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//创建控件空间
setContentView(R.layout.activity_list_view);
mListView = (ListView) findViewById(R.id.set_list_view_id);
//创建数据
List<String> infos = getAppListString();
mListView.setAdapter(new AppListAdapter(infos));
}
private List<String> getAppListString() {
List<String> list = new ArrayList<>();
list.add("app_name1");
list.add("app_name2");
list.add("app_name3");
list.add("app_name4");
list.add("app_name4");
return list;
}
private List<ResolveInfo> getAppInfos() {
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
return getPackageManager().queryIntentActivities(mainIntent, 0);
}
/**
*
* 创建list对象
*
*/
public class AppListAdapter extends BaseAdapter{
private List<String> mInfos;
//构造函数
public AppListAdapter( List<String> infos) {
mInfos = infos;
}
@Override
public int getCount() {
return mInfos.size();
}
@Override
public Object getItem(int position) {
return mInfos.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
//获取系统服务
LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//引入数据
convertView = layoutInflater.inflate(R.layout.activity_app_list, null);
// 获取控件
TextView textView= (TextView) convertView.findViewById(R.id.app_name_message);
ImageView imageView = (ImageView) convertView.findViewById(R.id.icon_image_view);
//渲染数据
textView.setText(mInfos.get(position));
return convertView;
}
}
}
AndroidManifest.xml注册
<!-- listview 列表展示 -->
<activity
android:name=".handler.ListViewActivity"
android:label="@string/list_view" />
三、工作原理及优化
待补充
四、使用场景
1 联系人 聊天页面,好友动态
2 通讯录,短息
3 设置页面,各种列表
4 文件夹用列表
5 o2o外卖,评论
…
扩展及总结
源码请移步:
https://github.com/xiusan/MyApplication/tree/internet
参考
多留言多点赞你们的只支持是我坚持下去的动力,都支棱起来!!!