1
アクションバーから検索を実行しようとしています。 私がインテントで呼び出すアクティビティGetBookInfo.classは、Google Books APIから書籍に関する情報を取得します。アクションバーからAPIで検索を実行
私の問題は、書いてみると、書籍のタイトル全体ではなく単語の手紙を書くことしかできないため、検索はうまくいかないということです。どうすればこの問題を解決できますか?
"MainActivity"に次のコードがあります。あなたが提出したときに任意の文字が追加されたときにIntent
Activity
onQueryTextChange
GetBookInfo
に発射されます、これはあなたがあなたの完全なテキストを入力することができます
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;
}
});
と:
@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);
}
}
これは機能します。どうもありがとうございます! –