我是android新手。在我的应用中,我使用的是listview
,而在我的listview
中,我必须加载26条记录。我决定先加载3条记录;然后当我滚动,接下来的3条记录等时,我想使用listview
底部的进度条加载。
完成所有记录后,我需要显示没有"记录和#34;。
有人可以帮帮我吗?
public class MainActivity extends Activity {
ListView listView;
String[] arrayS = new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p"};
View footer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.actvity);
listView = (ListView) findViewById(R.id.load);
final ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 3; i++) {
list.add(arrayS[i]);
}
//Add footer view:-
footer = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.progress, null, false);
listView.addFooterView(footer);
final ArrayAdapter<String> ad = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(ad);
// Implementing scroll refresh:-
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int firstItem, int visibleItemCount, final int totalItems) {
});
}
}
答案 0 :(得分:0)
使用以下逻辑来获取何时调用下一组数据以进行更多加载 -
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
int lastInScreen = firstVisibleItem + visibleItemCount;
if ((lastInScreen == totalItemCount) && !(flagForCheckingIfMoreDataAvailable)) {
// load more
}
}
答案 1 :(得分:0)
以下是完成此操作的完整代码。
objectsmap (U∩V)