Use activity instead of dialog

This commit is contained in:
fkloft
2013-07-26 19:13:25 +02:00
parent 2b7ac5605b
commit 50d1b643fc
11 changed files with 420 additions and 207 deletions

View File

@@ -0,0 +1,55 @@
package com.cradle.iitc_mobile.share;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
public class IntentFragment extends Fragment implements OnScrollListener, OnItemClickListener {
private Intent mIntent;
private IntentListView mListView;
private int mScrollIndex, mScrollTop;
public String getTitle() {
return getArguments().getString("title");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = getArguments();
mIntent = args.getParcelable("intent");
mListView = new IntentListView(getActivity());
mListView.setIntent(mIntent);
if (mScrollIndex != -1 && mScrollTop != -1)
mListView.setSelectionFromTop(mScrollIndex, mScrollTop);
mListView.setOnScrollListener(this);
mListView.setOnItemClickListener(this);
return mListView;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Intent intent = mListView.getTargetIntent(position);
startActivity(intent);
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
mScrollIndex = mListView.getFirstVisiblePosition();
View v = mListView.getChildAt(0);
mScrollTop = (v == null) ? 0 : v.getTop();
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
}