在这篇文章中,我们将带领您了解AndroidListView部分标题的全貌,包括listview设置标题的相关情况。同时,我们还将为您介绍有关027Android可扩展的listview:Expand
在这篇文章中,我们将带领您了解Android ListView部分标题的全貌,包括listview设置标题的相关情况。同时,我们还将为您介绍有关027 Android 可扩展的 listview:ExpandableListView 的使用案例、Android ArrayList ListView / Textview-您必须为textview提供资源ID、android ListView 多次调用 getView方法、Android ListView 扩展 DragSortListView的知识,以帮助您更好地理解这个主题。
本文目录一览:- Android ListView部分标题(listview设置标题)
- 027 Android 可扩展的 listview:ExpandableListView 的使用案例
- Android ArrayList ListView / Textview-您必须为textview提供资源ID
- android ListView 多次调用 getView方法
- Android ListView 扩展 DragSortListView
Android ListView部分标题(listview设置标题)
解决方法
https://github.com/emilsjolander/StickyListHeaders
027 Android 可扩展的 listview:ExpandableListView 的使用案例
1.ExpandableListView 简介
ExpandableListView 是一种用于垂直滚动展示两级列表的视图,和 ListView 的不同之处就是它可以展示两级列表,分组可以单独展开显示子选项。这些选项的数据是通过 ExpandableListAdapter 关联的。
2.xml 页面布局
(1) 主界面布局 (CommonNumberQueryActivity 对应布局)
<?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"
android:orientation="vertical"
tools:context=".CommonNumberQueryActivity">
<TextView
style="@style/TitleStyle"
android:text="常用号码查询" />
<!--可以扩展的listview:ExpandableListView-->
<ExpandableListView
android:id="@+id/elv_common_number"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ExpandableListView>
</LinearLayout>
(2)elv_child_item_group.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"
android:padding="5dp"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_group_name"
android:text="分组名称"
android:layout_marginLeft="40dp"
android:textSize="16sp"
android:textColor="@color/red"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
(3)elv_child_item_child.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"
android:padding="5dp"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_name"
android:text="电话名称"
android:textSize="16sp"
android:textColor="#000"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tv_number"
android:text="电话号码"
android:textSize="16sp"
android:textColor="#000"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
3.java 后台代码
package com.example.administrator.test62360safeguard;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;
import com.example.administrator.test62360safeguard.engine.CommonNumberDao;
import java.util.List;
public class CommonNumberQueryActivity extends AppCompatActivity {
ExpandableListView elv_common_number;
List<CommonNumberDao.Group> groupList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_common_number_query);
initUI();
initData();
}
/**
* 给可扩展的listview:ExpandableListView准备数据,并填充
* 首先将对应的数据库文件放入assets目录下
*/
private void initData() {
CommonNumberDao commonNumberDao=new CommonNumberDao();
//获取数据库中的数据
groupList = commonNumberDao.getGroup();
System.out.println("groupList:"+groupList);
//给ExpandableListView设置数据适配器
elv_common_number.setAdapter(new MyAdapter());
}
private void initUI() {
elv_common_number = findViewById(R.id.elv_common_number);
}
private class MyAdapter extends BaseExpandableListAdapter {
@Override
public int getGroupCount() {
return groupList.size();
}
@Override
public int getChildrenCount(int groupPosition) {
return groupList.get(groupPosition).childList.size();
}
@Override
public CommonNumberDao.Group getGroup(int groupPosition) {
return groupList.get(groupPosition);
}
@Override
public CommonNumberDao.Child getChild(int groupPosition, int childPosition) {
return groupList.get(groupPosition).childList.get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
/**
* 固定写法不需要修改
*/
@Override
public boolean hasStableIds() {
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
View view = View.inflate(getApplicationContext(), R.layout.elv_child_item_group, null);
TextView tv_group_name = view.findViewById(R.id.tv_group_name);
tv_group_name.setText(getGroup(groupPosition).name);
return view;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
View view = View.inflate(getApplicationContext(), R.layout.elv_child_item_child, null);
TextView tv_name = view.findViewById(R.id.tv_name);
TextView tv_number = view.findViewById(R.id.tv_number);
tv_name.setText(getChild(groupPosition, childPosition).name);
tv_number.setText(getChild(groupPosition, childPosition).number);
return view;
}
/**
* @return 孩子节点是否响应事件
*/
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}
}
}
4. 效果图
Android ArrayList ListView / Textview-您必须为textview提供资源ID
我曾经在某一时刻进行过这项工作,所以我认为我所引用的东西有误。_regionListView似乎返回确定。我认为ArrayList中的数组是问题,因为它包含额外的空索引,但我认为我没有正确连接到ListView和TextView。
任何帮助,将不胜感激。
Main.java
String _region = inRegion;
ParserRegion _parserRegion = new ParserRegion();
InputStream _inputStream = getResources().openRawResource(R.raw.regions);
// Parse the Input Stream
_parserRegion.Parse(_inputStream,_region);
// Get Regions
List<PropertiesRegion> _regionList = _parserRegion.GetList();
// Create the ArrayAdapter
ArrayAdapterRegion _arrayAdapter = new ArrayAdapterRegion(getApplicationContext(),R.layout.search_list,_regionList);
// Get reference to ListView holder
ListView _regionListView = (ListView) this.findViewById(R.id.regionListView);
// Set the ListView adapter
_regionListView.setAdapter(_arrayAdapter);
Search.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:adjustViewBounds="true"
android:background="@drawable/search_background"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:scaleType="centerCrop" >
<TextView
android:id="@+id/selectRegionTextView"
android:cacheColorHint="#00000000"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginTop="150dip"
android:gravity="top"
android:textColor="#000000"
android:textSize="20dip"
android:textandroid:typeface="sans" />
<ListView
android:id="@+android:id/regionListView"
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="5dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:padding="10dp" />
<Button
android:id="@+id/mainMenuButton"
android:background="@drawable/button_black"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginBottom="70dip"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:typeface="sans"
android:textSize="18dip"
android:textandroid:textColor="@android:color/white"/>
</LinearLayout>
Search_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/regionTextView"
android:cacheColorHint="#00000000"
android:gravity="center"
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:paddingLeft="10dip"
android:textColor="#000000"
android:typeface="sans"
android:textSize="20dip"
android:text/>
</LinearLayout>
android ListView 多次调用 getView方法
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/alarm_list">
</ListView>
ListView 的高度 必须要设置成一个明确的值 或者match_parent 不然就会调用多次getView方法
Android ListView 扩展 DragSortListView
DragSortListView(DSLV)是 Android ListView 的一个扩展,支持拖拽排序和左右滑动删除功能。重写了 TouchInterceptor(TI)类来提供更加优美的拖拽动画效果。
DSLV 主要特性:
完美的拖拽支持;
在拖动时提供更平滑的滚动列表滚动;
支持每个 ListItem 高度的多样性
公开 startDrag () 和 stopDrag () 方法;
有公开的接口可以自定义拖动的 View。
DragSortListView 适用于带有任何优先级的列表:收藏夹、播放列表及清单等,算得上是目前 Android 开源实现拖动排序操作最完美的方案。
(简介来自:http://www.csdn.net/article/2013-05-06/2815145-Android-open-source-projects-two)
更多 http://www.oschina.net/code/snippet_219356_18991
我们今天的关于Android ListView部分标题和listview设置标题的分享就到这里,谢谢您的阅读,如果想了解更多关于027 Android 可扩展的 listview:ExpandableListView 的使用案例、Android ArrayList ListView / Textview-您必须为textview提供资源ID、android ListView 多次调用 getView方法、Android ListView 扩展 DragSortListView的相关信息,可以在本站进行搜索。
本文标签: