package de.jeisfeld.augendiagnoselib.fragments;
import android.app.ListFragment;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import de.jeisfeld.augendiagnoselib.Application;
import de.jeisfeld.augendiagnoselib.R;
import de.jeisfeld.augendiagnoselib.activities.DisplayHtmlActivity;
/**
* Fragment to display the navigation list of help screens.
*/
public class DisplayHelpNavigationFragment extends ListFragment {
@Override
public final void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
createList();
}
@Override
public final void onActivityCreated(final Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getListView().setOnItemClickListener(new ShowHelpOnClickListener());
}
/**
* Fill the contents of the navigation page.
*/
private void createList() {
TypedArray htmlNavigationResources =
getActivity().getResources().obtainTypedArray(R.array.html_navigation_resources);
String[] folderNames = new String[htmlNavigationResources.length()];
for (int i = 0; i < htmlNavigationResources.length(); i++) {
folderNames[i] = htmlNavigationResources.getString(i);
}
htmlNavigationResources.recycle();
ArrayAdapter<String> directoryListAdapter =
new ArrayAdapter<>(getActivity(), R.layout.adapter_list_names, folderNames);
setListAdapter(directoryListAdapter);
}
/**
* Item click listener displaying the help content.
*/
private class ShowHelpOnClickListener implements OnItemClickListener {
@Override
public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {
TypedArray htmlResources =
Application.getAppContext().getResources().obtainTypedArray(R.array.html_resources);
int resource = htmlResources.getResourceId(position, 0);
htmlResources.recycle();
((DisplayHtmlActivity) getActivity()).displayDetails(resource);
}
}
}