我试图从操作栏执行搜索。 我在Intent GetBookInfo.class中调用的Activity从Google Books API检索有关书籍的信息。
我的问题是,当我开始写作时,它只允许我写一个单词的字母,而不是整本书的标题,所以搜索永远不会起作用。我该如何解决这个问题?
我在" MainActivity"。
中有以下代码 @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
MenuItem item = menu.findItem(R.id.search);
SearchView searchView = (SearchView) item.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
Intent intent1 = new Intent(MainActivity.this, GetBookInfo.class);
startActivity(intent1);
return false;
}
});
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settings:
Intent intent2 = new Intent(MainActivity.this, Ajustes.class);
startActivity(intent2);
return true;
case R.id.about:
Intent intent3 = new Intent(MainActivity.this, About.class);
startActivity(intent3);
return true;
case R.id.exit:
new AlertDialog.Builder(this).setIcon(android.R.drawable.ic_dialog_alert).setTitle("Salir")
.setMessage("¿Estás seguro?").setNegativeButton(android.R.string.cancel, null).setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
}).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:0)
将您的代码更改为:
ionic serve --prod
这样您就可以输入全文,并在提交时searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Intent intent1 = new Intent(MainActivity.this, GetBookInfo.class);
startActivity(intent1);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
});
Intent
GetBookInfo
Activity
内添加/删除/修改任何字符时会触发 onQueryTextChange
,因此,当您输入第一个字符时,您的意图就会被触发
希望它有所帮助!