我正在尝试为我的ListView
创建节标题,其方式是某些列表行有标题而有些列表没有。所以我有三个xml布局文件。 fragment_listview.xml
包含<ListView>
row_listview.xml
包含ListView
行
header_listview.xml
用于节标题。
Feeds.java
是我的模特课。
所以在我的适配器中我有这样的东西:
public class FeedsArrayAdapter extends ArrayAdapter<Feeds> {
private Context context;
private List<Feeds> feeds;
private LayoutInflater vi;
FeedsArrayAdapter(Context c, List<Feed> ff){ //initializes all the class member fields }
public void getView(int position, View convertView, ViewGroup parent){
Feeds f = feeds.get(position);
if(f.headerNeeded()){
convertView = vi.inflate(R.layout.header_listview, null);
TextView textViewHeader = (TextView) convertView.findViewById(R.id.feed_header);
textViewHeader.setText(new SimpleDateFormat("dd/MM/yyyy").format(feed.date));
}
else {
convertView = vi.inflate(R.layout.row_listview, null);
TextView textViewfeedHeading = (TextView) convertView.findViewById(R.id.feed_heading);
TextView textViewfeedSubheading = (TextView) convertView.findViewById(R.id.feed_subheading);
TextView textViewfeedDate = (TextView) convertView.findViewById(R.id.textViewDate);
ImageView imageViewfeedIcon = (ImageView) convertView.findViewById(R.id.feed_icon);
ImageView imageViewfeedBanner = (ImageView) convertView.findViewById(R.id.feed_banner);
textViewfeedHeading.setText(feed.title);
textViewfeedSubheading.setText(feed.subtitle);
textViewfeedDate.setText(new SimpleDateFormat("dd/MM/yyyy").format(feed.date));
}
return convertView;
}
所以这给了我们这样的东西:
---header1----
---header2----
___Row 3_____
___Row 4_____
我想要的是:
-----header 1------
_____Row 1_______
-----header 2------
_____Row 2_______
_____Row 3_______
_____Row 4_______
如果我尝试在row.listview
中充气if(true)
,我会遇到异常。
如何解决此问题。
答案 0 :(得分:0)
您可以使用Sticky Header Library here
答案 1 :(得分:0)
yourListView.addHeaderView(yourHeaderView);
答案 2 :(得分:-1)
在BaseExpandableAdapter中使用expandable listview