滚动以在android列表视图中添加更多项目

时间:2013-11-29 07:44:27

标签: android listview android-listfragment pull-to-refresh

这是我的Listview项目

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageView
    android:id="@+id/img"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingTop="20dp"
    android:gravity="center_vertical"
    android:background="@drawable/starred" />

<TextView
    android:id="@+id/txt_company"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/img"
    android:paddingBottom="10dp"
    android:textColor="#25383C"
    android:singleLine="true"
    android:textStyle="bold" 
    android:textSize="16dp" />

<TextView
    android:id="@+id/txt_position"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txt_company"
    android:layout_toRightOf="@+id/img"
    android:textColor="#25383C"
    android:singleLine="true"
    android:textStyle="bold" 
    android:textSize="16dp" />
<TextView
    android:id="@+id/txt_city"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txt_position"
    android:layout_toRightOf="@+id/img"
    android:textColor="#25383C"
    android:textStyle="bold" 
    android:singleLine="true"
    android:textSize="16dp" />
<TextView
    android:id="@+id/txt_state"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txt_city"
    android:layout_toRightOf="@+id/img"
    android:textColor="#25383C"
    android:textStyle="bold" 
    android:singleLine="true"
    android:textSize="16dp" />

   </RelativeLayout>\

这是我的列表视图

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main_bg"
>

<RelativeLayout android:layout_width="fill_parent"
    android:layout_height="47dip" android:layout_alignParentTop="true"
    android:background="@drawable/tab_bar" android:id="@+id/rel_jobDesc">

    <TextView android:layout_width="wrap_content" android:id="@+id/txt_SEARCH_TITLE"
        android:layout_height="wrap_content" android:layout_centerInParent="true"
        android:text="" android:textStyle="bold" android:textSize="20dip"
        android:textColor="#fff"></TextView>
</RelativeLayout>
<ListView
   android:id="@+id/list"
   android:cacheColorHint="#00000000"
   android:layout_marginTop="60dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/job_match_bg" >

</ListView>

<Button
    android:id="@+id/btn_more"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/viewmore"
    android:layout_centerHorizontal="true"/>

 </RelativeLayout>

我的java代码是

          Data datadap= new Data(this,company,position,city,state,pass_value,desc_str);
            listView.setAdapter(datadap);

这是我的getview

 public View getView(int position, View convertView, ViewGroup parent) {
         final String description;
         LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
         View row;
         row=mInflater.inflate(R.layout.list_item, parent,false);
         txtcompany = (TextView) row.findViewById(R.id.txt_company);
         imageView = (ImageView) row.findViewById(R.id.img);
         txtPosition= (TextView) row.findViewById(R.id.txt_position);
         txtCity= (TextView) row.findViewById(R.id.txt_city);
         txtState= (TextView) row.findViewById(R.id.txt_state);
         txtcompany.setText("Company:  "+companyarray[position]);
         txtPosition.setText("Position: "+positonarray[position]);
         txtCity.setText("City: "+cityarray[position]);
         txtState.setText("State: "+statearray[position]);
         imageView.setTag(receiceValueOfAdapter.get(position));
         description= Descarray[position];
         db.openWritableDatabase();
         savedItems=db.getAllData(str_user);
 }

现在我们如何实现下拉刷新listview,我的listview数据来自服务器。

我是android开发的新手 Plz帮助我如何发展

提前谢谢你。  抱歉我的英语不好。

2 个答案:

答案 0 :(得分:1)

在适配器上调用notifyDataSetChanged()。您可以在线程上执行此操作并在每5秒(或根据需要)调用该线程。您可以观看this教程以获得更好的想法。

答案 1 :(得分:0)

通过扩展ListView类创建自定义'PullToRefreshListView',并在布局xml中使用该类。

请参阅此处:https://github.com/johannilsson/android-pulltorefresh.git