В настоящее время, когда пользователь выбирает элемент из списка с помощью функции onItemClick, я могу успешно получить данные и загрузить их в другие фрагменты, но когда приложение закрывается пользователем, закрывающимся в диспетчере задач, пользователь долженснова зайдите в список и снова выберите элемент из списка.
Я пытался использовать sharedPreferences для сохранения и восстановления значений выбранного элемента в просмотре списка, но безуспешно.
public static String SelectedName = null;
public static String SelectedPhNo = null;
// Set the ListViews OnItemClick Listener
display_contacts1.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
//String namedisplay = arrayAdapter.getItem(position); //<<<<<<<<<< this gets the phone name
String namedisplay = myCursor.getString(myCursor.getColumnIndex(DataDBAdapter.COl_MYTABLE_PHONENAME));
String phoneno_display = myCursor.getString(myCursor.getColumnIndex(DataDBAdapter.COL_MYTABLE_PHONENUMBER));
Toast.makeText(view.getContext(), namedisplay + " Selected for Communication", Toast.LENGTH_SHORT).show();
Toast.makeText(view.getContext(), phoneno_display, Toast.LENGTH_SHORT).show();
// Set the selected contact variables
SelectedName = namedisplay;
SelectedPhNo = phoneno_display;
}
});
// Save the data here
@Override
public void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
// Save the textview state 1st item is the key and 2nd item is the variable
outState.putString("savedname", SelectedName);
outState.putString("savedphNo", SelectedPhNo);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_select_modem, container, false);
btn_add = (Button) view.findViewById(R.id.btn_add);
if(savedInstanceState != null)
{
savedInstanceState.getString("savedname");
savedInstanceState.getString("savedphNo");
}
}