Android Listview标题和节月份和日期列表
我是一个新的android开发者。我在谷歌上搜索了很多,但我 没有得到想要的结果。我也试过我的逻辑,但我没有理解。如果有人能在这方面提供帮助,我将不胜感激Android Listview标题和节月份和日期列表,android,android-layout,android-emulator,Android,Android Layout,Android Emulator,我是一个新的android开发者。我在谷歌上搜索了很多,但我 没有得到想要的结果。我也试过我的逻辑,但我没有理解。如果有人能在这方面提供帮助,我将不胜感激 1. My problem is that ______________ November,2012 //This is header ______________ November 12,2012 November 15,2012 //This list of date that co
1. My problem is that
______________
November,2012 //This is header
______________
November 12,2012
November 15,2012 //This list of date that contain in month
_____________
December,2012 //This is header
_____________
December 23,2012
December 30,2012 //This list of date that contain in month
我的问题是如何从列表中获取包含同一个月和列表的项目列表
我如何才能解决这个问题?请提出一些建议。如果您希望在列表中包含多个标题,并且当您单击所需标题时,会在下面列出子日期,因此您可以使用可扩展的列表视图,但如果您希望在列表之外选择您的月份,然后将匹配的日期与您可以使用的所选月份一起列出
youradapter.setFilterQueryProvider
或者,您可以使用textwatcher根据您想要的月份筛选您的列表 使用分隔符视图创建自定义ListView行布局文件。(标题文本视图) listview_行_与_separator.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:orientation="vertical" >
<!-- list Separator TextView Style - the list separator Header-->
<TextView
style="?android:attr/listSeparatorTextViewStyle"
android:id="@+id/textview_header_separator"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:text="November, 2012"
android:visibility="gone"
/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView_row_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="November 12, 2012"
android:textAppearance="?android:attr/textAppearanceMedium" >
</TextView>
</LinearLayout>
</LinearLayout>
问题是,请解释更多关于你的problem@SahilMahajanMj我被编辑了..我的问题是如何在日期内对同一个月的项目进行包含..@Arash我有一个标题(月名)k。现在,当标题名与列表(月名、日期)相同时,我想把它们拿出来,并在上面列出。。查找:Sticky Header ListView
public class Your_List_Adapter extends ArrayAdapter<Your_List_Item> {
private Activity mActivity;
private String mCurrentMonth = "";
public Your_Adapter(Activity activity) {
super(activity, 0);
mActivity = activity;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mActivity.getLayoutInflater().inflate(
R.layout.listview_row_with_separator, null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
// the (list row) convertView is already inflated, so we can get
// it from the Tag
holder = (ViewHolder) convertView.getTag();
}
Your_List_Item your_list_item = getItem(position);
//Check if the next list item is not equal the previous list item.
if (!mCurrentMonth.equalsIgnoreCase(your_list_item.month.toString())) {
holder.populateView(your_list_item, true);
mCurrentMonth = your_list_item.date;
} else{
holder.populateView(your_list_item, false);
}
return convertView;
}
}
class ViewHolder {
/********** DECLARES ************/
private TextView textView_row_value;
public TextView textview_header_separator;
public ViewHolder(final View root) {
/********** INITIALIZES *************/
textview_header_separator = (TextView) root.findViewById(R.id.textview_header_separator);
textView_row_value = (TextView) root.findViewById(R.id.textView_row_value);
}
public void populateView(final Your_List_Item your_list_item,final boolean needSeparator) {
/*
* add Separator
*/
if (needSeparator) {
//set header text: November, 2012
textview_header_separator.setText(your_list_item.date);
textview_header_separator.setVisibility(View.VISIBLE);
} else {
textview_header_separator.setVisibility(View.GONE);
}
//set row value: November 12, 2012
textView_row_value.setText(your_list_item.date);
}
}