`

开源框架ignition[二]

阅读更多
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" />
分享到:
评论
1 楼 lianwanf 2013-01-10  
  大神,求源码,很想要那jar包.官方的不懂下载啊.谢谢啊.我的邮箱361086407@qq.com

相关推荐

Global site tag (gtag.js) - Google Analytics