package com.abewy.android.apps.klyph.fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.GridView;
import com.abewy.android.apps.klyph.R;
import com.abewy.android.apps.klyph.adapter.MultiObjectAdapter;
import com.abewy.android.apps.klyph.view.ListEmptyView;
public class KlyphGridFragment extends KlyphFragment implements OnScrollListener
{
private GridView gridView;
@Override
public void onViewCreated(View view, Bundle savedInstanceState)
{
super.onViewCreated(view, savedInstanceState);
gridView = (GridView) view.findViewById(R.id.grid);
//gridView.setNumColumns(Ckoobafe.getNumGridColumn());
gridView.setColumnWidth(220);
gridView.setVisibility(View.GONE);
gridView.setOnScrollListener(this);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
onGridItemClick(gridView, v, position, id);
}
});
defineEmptyView();
}
protected void defineEmptyView()
{
if(gridView != null)
{
ListEmptyView lev = new ListEmptyView(getActivity());
((ViewGroup) gridView.getParent()).addView(lev);
Log.d("KlyphGridFragment", "define empty view " + lev);
gridView.setEmptyView(lev);
}
}
@Override
protected void setEmptyText(int resId)
{
if (gridView.getEmptyView() != null)
{
((ListEmptyView) gridView.getEmptyView()).setText(resId);
}
}
public GridView getGridView()
{
return gridView;
}
/**
* Override this method to define this activity's layout
*
* @return the activity's layout. Example : <code>R.layout.main</code>
*/
protected int getCustomLayout()
{
return R.layout.layout_grid;
}
@Override
protected MultiObjectAdapter getAdapter()
{
return (MultiObjectAdapter) gridView.getAdapter();
}
@Override
protected void ensureList()
{
// getListView().getEmptyView().setVisibility(View.GONE);
//getGridView().setEmptyView(getView().findViewById(android.R.id.empty));
}
public void onGridItemClick(GridView gridView, View v, int position, long id)
{
}
@Override
public void onDestroy()
{
super.onDestroy();
//if (getAdapter() != null)
//getAdapter().setData(new ArrayList<GraphObject>());
gridView.setAdapter(null);
gridView = null;
}
}