修复搜索历史第一次不能正常显示的问题

This commit is contained in:
ZCShou 2021-06-18 13:12:39 +08:00
parent e71c248f66
commit ed31995cd0
2 changed files with 11 additions and 21 deletions

View File

@ -39,7 +39,7 @@ public class HistoryActivity extends BaseActivity {
private static final String KEY_LNG_LAT_CUSTOM = "KEY_LNG_LAT_CUSTOM";
private ListView mRecordListView;
private SQLiteDatabase mSqliteDB;
private SQLiteDatabase mHistoryLocationDB;
private List<Map<String, Object>> mAllRecord;
@Override
@ -62,7 +62,7 @@ public class HistoryActivity extends BaseActivity {
@Override
protected void onDestroy() {
mSqliteDB.close();
mHistoryLocationDB.close();
super.onDestroy();
}
@ -106,7 +106,7 @@ public class HistoryActivity extends BaseActivity {
private void initDataBaseHistoryLocation() {
try {
DataBaseHistoryLocation hisLocDBHelper = new DataBaseHistoryLocation(getApplicationContext());
mSqliteDB = hisLocDBHelper.getWritableDatabase();
mHistoryLocationDB = hisLocDBHelper.getWritableDatabase();
} catch (Exception e) {
Log.e("HistoryActivity", "SQLiteDatabase init error");
e.printStackTrace();
@ -115,7 +115,6 @@ public class HistoryActivity extends BaseActivity {
recordArchive();
mAllRecord = fetchAllRecord();
}
//sqlite 操作 查询所有记录
@ -123,7 +122,7 @@ public class HistoryActivity extends BaseActivity {
List<Map<String, Object>> data = new ArrayList<>();
try {
Cursor cursor = mSqliteDB.query(DataBaseHistoryLocation.TABLE_NAME, null,
Cursor cursor = mHistoryLocationDB.query(DataBaseHistoryLocation.TABLE_NAME, null,
DataBaseHistoryLocation.DB_COLUMN_ID + " > ?", new String[] {"0"},
null, null, DataBaseHistoryLocation.DB_COLUMN_TIMESTAMP + " DESC", null);
@ -180,7 +179,7 @@ public class HistoryActivity extends BaseActivity {
final long weekSecond = 7 * 24 * 60 * 60;
try {
mSqliteDB.delete(DataBaseHistoryLocation.TABLE_NAME,
mHistoryLocationDB.delete(DataBaseHistoryLocation.TABLE_NAME,
DataBaseHistoryLocation.DB_COLUMN_TIMESTAMP + " < ?", new String[] {Long.toString(System.currentTimeMillis() / 1000 - weekSecond)});
} catch (Exception e) {
Log.e("SQLITE", "archive error");
@ -193,9 +192,9 @@ public class HistoryActivity extends BaseActivity {
try {
if (ID <= -1) {
mSqliteDB.delete(DataBaseHistoryLocation.TABLE_NAME,null, null);
mHistoryLocationDB.delete(DataBaseHistoryLocation.TABLE_NAME,null, null);
} else {
mSqliteDB.delete(DataBaseHistoryLocation.TABLE_NAME,
mHistoryLocationDB.delete(DataBaseHistoryLocation.TABLE_NAME,
DataBaseHistoryLocation.DB_COLUMN_ID + " = ?", new String[] {Integer.toString(ID)});
}
} catch (Exception e) {

View File

@ -241,27 +241,19 @@ public class MainActivity extends BaseActivity
//找到searchView
searchItem = menu.findItem(R.id.action_search);
searchView = (SearchView) searchItem.getActionView();
//searchView.setIconified(false);// 设置searchView处于展开状态
// searchView.onActionViewExpanded();// 当展开无输入内容的时候没有关闭的图标
// searchView.setIconifiedByDefault(true);//默认为true在框内设置false则在框外
//searchView.setSubmitButtonEnabled(false);//显示提交按钮
searchView.setIconified(false);// 设置searchView处于展开状态
searchView.onActionViewExpanded();// 当展开无输入内容的时候没有关闭的图标
searchView.setIconifiedByDefault(true);//默认为true在框内设置false则在框外
searchView.setSubmitButtonEnabled(false);//显示提交按钮
searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
// Do something when collapsed
menu.setGroupVisible(0, true);
menu.setGroupVisible(1, true);
// searchView.setIconified(false);// 设置searchView处于展开状态
// mSearchList.setVisibility(View.GONE);
mSearchLayout.setVisibility(View.INVISIBLE);
mHistoryLayout.setVisibility(View.INVISIBLE);
return true; // Return true to collapse action view
}
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
// Do something when expanded
menu.setGroupVisible(0, false);
menu.setGroupVisible(1, false);
mSearchLayout.setVisibility(View.INVISIBLE);
//展示搜索历史
List<Map<String, Object>> data = getSearchHistory();
@ -823,7 +815,6 @@ public class MainActivity extends BaseActivity
private void initSearchView() {
// 搜索相关
searchView = findViewById(R.id.action_search);
mSearchList = findViewById(R.id.search_list_view);
mSearchLayout = findViewById(R.id.search_linear);