1 新建android项目作为library导入ignition-core
ignition-support缺少guava导入之

2 新建android项目add ignition-core作为library
同样导入guava
修改InfinityAdapter


public InfinityAdapter(Activity activity, AbsListView gridView) {
super(activity, gridView,R.layout.loading_item);
}


增加GridViewActivity

package com.github.ignition.samples.core;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.GridView;

import com.github.ignition.core.tasks.IgnitedAsyncTask;

public class GridViewActivity extends Activity implements OnScrollListener {
private static final int PAGE_SIZE = 10;

private InfinityAdapter adapter;

private GridView mGrid;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.grid_1);
mGrid = (GridView) findViewById(R.id.myGrid);
adapter = new InfinityAdapter(this, mGrid);

mGrid.setAdapter(adapter);
mGrid.setOnScrollListener(this);

loadNextPage();
}

private void loadNextPage() {
adapter.setIsLoadingData(true);
IgnitedAsyncTask<EndlessListActivity, Void, Void, Void> task = new IgnitedAsyncTask<EndlessListActivity, Void, Void, Void>() {
@Override
public Void run(Void... params) throws Exception {
SystemClock.sleep(1000);
int offset = adapter.getCount();
for (int i = 1; i <= PAGE_SIZE; i++) {
adapter.getData().add(i + offset);
}
return null;
}

@Override
public boolean onTaskCompleted(Void result) {
adapter.setIsLoadingData(false);
adapter.notifyDataSetChanged();
return true;
}
};
task.execute();
}

@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (adapter.shouldRequestNextPage(firstVisibleItem, visibleItemCount,
totalItemCount)) {
loadNextPage();
}
}

@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
}



增加grid_1.xml

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myGrid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:verticalSpacing="10dp"

android:horizontalSpacing="10dp"
android:numColumns="auto_fit"
android:columnWidth="60dp"
android:stretchMode="columnWidth"

android:gravity="center"
/>


修改SampleListActivity
增加

adapter.add(new Sample("GridViewAdapter", GridViewActivity.class));


AndroidManifest.xml增加

<activity android:name=".GridViewActivity" />
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐