Fixed Screen rotation user input deletes

Screen Rotation fix using bundle

Screen Rotation fix using bundle update

Screen Rotation fix using bundle update

Screen Rotation fix using bundle update 3

Indentation Update to ScreenRotation Issue
This commit is contained in:
Vansh Badkul 2018-03-04 19:41:52 +05:30 committed by Isaac Hutt
parent 0876071a36
commit a7d6f08fa5

View File

@ -67,6 +67,7 @@ public class SearchActivity extends AppCompatActivity
private AutoCompleteAdapter mAutoAdapter; private AutoCompleteAdapter mAutoAdapter;
private ArrayAdapter<String> mDefaultAdapter; private ArrayAdapter<String> mDefaultAdapter;
private SearchView searchView; private SearchView searchView;
private String searchText;
@Inject @Inject
SearchPresenter searchPresenter; SearchPresenter searchPresenter;
@ -87,12 +88,14 @@ public class SearchActivity extends AppCompatActivity
View contentView = LayoutInflater.from(this).inflate(R.layout.search, null); View contentView = LayoutInflater.from(this).inflate(R.layout.search, null);
setContentView(contentView); setContentView(contentView);
if (savedInstanceState != null) {
searchText = savedInstanceState.getString("text");
}
Toolbar toolbar = findViewById(R.id.toolbar); Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_back); getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_back);
getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setHomeButtonEnabled(true);
searchPresenter.attachView(this); searchPresenter.attachView(this);
mListView = findViewById(R.id.search_list); mListView = findViewById(R.id.search_list);
mDefaultAdapter = getDefaultAdapter(); mDefaultAdapter = getDefaultAdapter();
searchPresenter.getRecentSearches(this); searchPresenter.getRecentSearches(this);
@ -134,6 +137,11 @@ public class SearchActivity extends AppCompatActivity
MenuItem searchMenuItem = menu.findItem(R.id.menu_search); MenuItem searchMenuItem = menu.findItem(R.id.menu_search);
MenuItemCompat.expandActionView(searchMenuItem); MenuItemCompat.expandActionView(searchMenuItem);
searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
if (searchText != null) {
searchView.setQuery(searchText, Boolean.FALSE);
mListView.setAdapter(mAutoAdapter);
mAutoAdapter.getFilter().filter(searchText.toLowerCase());
}
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override @Override
public boolean onQueryTextSubmit(String s) { public boolean onQueryTextSubmit(String s) {
@ -298,4 +306,10 @@ public class SearchActivity extends AppCompatActivity
private void searchViaVoice(String search) { private void searchViaVoice(String search) {
searchView.setQuery(search, false); searchView.setQuery(search, false);
} }
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("text", searchView.getQuery().toString());
}
} }