2013-10-08 66 views
0

我需要改变我的自定义列表视图适配器,因为我列出了适配器中的分页概念值。 当用户点击加载更多按钮时,列表将添加10多行到列表视图,并会显示,但列表视图是默认的第一个显示,但列表视图焦点不应该从最后查看的行改变?android:如何将行(视图)添加到现有的自定义列表视图适配器?

PropertyListAdapter searchAdapter = new PropertyListAdapter(getApplicationContext(), searchResult, pagination); 
searchListView.setAdapter(searchAdapter); 
searchListView.smoothScrollToPosition((pageId-1)*10); 

回答

0
my_array.addAll(other_array); 

的适配器,从一个新的数组你的数组添加元素。然后你可以这样做:

if(mylistAdapter ==null){ 
    mylistAdapter = new PropertyListAdapter(getApplicationContext(),myPropertyList); 
    searchListView.setAdapter(mylistAdapter); 
}else{ 
    mylistAdapter.notifyDataSetChanged(); 
} 

更新你的ListView与新的元素。

0

要添加自定义rowview可以使用baseadapter类添加他们通过排布置并设置列表视图

private class ViewHolder{ 
    public Button b; 
} 
Override getView and create something like this: 

@Override 
public View getView(final int position, View convertView, ViewGroup parent){ 
     ViewHandler vh; 
     if (convertView == null){ 
      convertView = View.inflate(getContext(), R.layout.your_layout, null); 
      vh = new ViewHolder(); 
      vh.b = (Button) convertView.findViewById(R.id.button1); 
      convertView.setTag(vh); 
     } else { 
      vh = (ViewHolder) convertView.getTag(); 
     } 
     vh.b.setText(String.valueOf(getItem(i).intValue())); 
     vh.b.setOnClickListener(new OnClickListener(){ 

      public void onClick(View v){ 
       if (listener != null){ 
        listener.onListButonItemClicked(getItem(position).intValue()); 
       } 
      } 

     }); 
     return convertView; 
    } 
+0

PropertyListAdapter是我的自定义适配器。我已经在那里做过。但我想要的是添加新的视图到现有的适配器。但我没有找到任何现有menthod像adapter.addView()... –

0

您可以将适配器类型从BaseAdapter更改为ArrayAdapter。 ArrayAdapter具有add()和addAll()的功能,可以根据需要动态地将行添加到您的列表视图中。

相关问题