我的应用中有搜索视图。还有菜单搜索。当我爬到外面时(例如在空旷的地方某处),如何从搜索视图中清除文本?我正在寻找问题的答案,但我觉得不合适。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.searchable_dictionary, menu);
MenuItem item = menu.findItem(R.id.search);
SearchView searchView = (SearchView)MenuItemCompat.getActionView(item);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchableInfo info = searchManager.getSearchableInfo(getComponentName());
searchView.setSearchableInfo(info);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
onSearchRequested();
return false;
case R.id.about:
startActivity(new Intent(this, About.class));
return true;
default:
return false;
}
答案 0 :(得分:0)
SQLite限制了ALTER TABLE支持,您可以使用该支持将列添加到表的末尾或更改表的名称。如果要在表的结构中进行更复杂的更改,则必须重新创建表。您可以将现有数据保存到临时表,删除旧表,创建新表,然后将数据从临时表中复制回来。
例如,假设您有一个名为“t1”的表,其中列名为“a”,“b”和“c”,并且您要从此表中删除列“c”。以下步骤说明了如何做到这一点:
BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,b);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;
How to delete or add column in SQLITE?
Delete column from SQLite table
修改强>
这是你的问题的解决方案在评论中说:
这里,
public void onListItemClick(ListView parent, View view, int position, long id) {
Intent intent = new Intent(this, EmployeeDetails.class);
Cursor cursor = (Cursor) adapter.getItem(position);
intent.putExtra("EMPLOYEE_ID", cursor.getInt(cursor.getColumnIndex("_id")));
startActivity(intent);
问题出在你的意图上。!!你正在传递这个作为上下文,但这里的这个没有引用你的Activity ..它是onClick!你的logcat可能会给你一个NPE或非法的例外, 改为
Intent intent = new Intent(EmployeeList.this , EmployeeDetails.class);