package com.kedzie.vbox.host; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import com.actionbarsherlock.app.SherlockFragment; import com.kedzie.vbox.R; import com.kedzie.vbox.app.FragmentElement; import com.kedzie.vbox.app.FragmentElementListAdapter; /** * */ public class HostSettingsListFragment extends SherlockFragment { public static interface OnSelectHostCategoryListener { public void onSelectCategory(FragmentElement category); } private ListView _listView; private FragmentElementListAdapter _adapter; private OnSelectHostCategoryListener _listener; private boolean _dualPane; @Override public void onAttach(Activity activity) { super.onAttach(activity); if(activity instanceof OnSelectHostCategoryListener) _listener=(OnSelectHostCategoryListener)activity; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); List<FragmentElement> categories = new ArrayList<FragmentElement>(); categories.add(new FragmentElement("Host Network Interfaces", R.drawable.ic_settings_network, HostNetworkListFragment.class, getArguments())); _adapter = new FragmentElementListAdapter(getActivity(), categories); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { _listView = new ListView(getActivity()); _listView.setAdapter(_adapter); _dualPane = getActivity().findViewById(R.id.details)!=null; _listView.setChoiceMode(_dualPane ? ListView.CHOICE_MODE_SINGLE : ListView.CHOICE_MODE_NONE); _listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { _listView.setItemChecked(position, true); if(_listener!=null) _listener.onSelectCategory(_adapter.getItem(position)); } }); return _listView; } }