Я новичок, поэтому, пожалуйста, потерпите меня.Я реализовал SlidingPaneLayout в своем приложении.Однако в примере, который я последовал, он заполнил фрагмент меню массивом строк.Я думаю, что это было просто в качестве примера.Как заполнить фрагмент меню ссылками на фрагменты, к которым я хочу предоставить пользователям доступ?
У меня есть список menu
с именами фрагментов, которые я хотел бы отобразить, но, похоже, он не реализован.
Вот код из моего фрагмента меню:
public class MainListFragment extends ListFragment {
private ArrayAdapter<String> mAdapter;
public static final String[] items = { "Item 1: xxxxxxxxxxxxxxxxx",
"Item 2: xxxxxxxxxxxxxxxxx", "Item 3: xxxxxxxxxxxxxxxxx",
"Item 4: xxxxxxxxxxxxxxxxx", "Item 5: xxxxxxxxxxxxxxxxx",
"Item 6: xxxxxxxxxxxxxxxxx", "Item 7: xxxxxxxxxxxxxxxxx" };
ListFragmentItemClickListener iItemClickListener;
/** An interface for defining the callback method */
public interface ListFragmentItemClickListener {
/**
* This method will be invoked when an item in the ListFragment is
* clicked
*/
void onListFragmentItemClick(View view, int position);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mAdapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, items);
setListAdapter(mAdapter);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
return super.onCreateView(inflater, container, savedInstanceState);
}
/** A callback function, executed when this fragment is attached to an activity */
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try{
/** This statement ensures that the hosting activity implements ListFragmentItemClickListener */
iItemClickListener = (ListFragmentItemClickListener) activity;
} catch(Exception e) {
Toast.makeText(activity.getBaseContext(),"Exception", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main_list, menu);
}
@Override
public void onListItemClick(ListView list, View view, int position, long id) {
/**
* Invokes the implementation of the method onListFragmentItemClick in
* the hosting activity
*/
iItemClickListener.onListFragmentItemClick(view, position);
}
}
Вот код из списка menu
:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_ehr"
android:title="@string/ehr_short" />
<item
android:id="@+id/nav_protocols"
android:title="@string/protocols" />
</group>
</menu>