ユーザーが書き込みを終了したときにアクティビティーを開始しようとしています。 アクティビティを起動する代わりに、プログラムを再度実行しているようです。 私は、正しいアクティビティを起動する代わりに、これが私のプログラムの最初のアクティビティを起動する代わりに、この原因を言います。ここでsetOnEditorActionListenerがナビゲーション・ドロワーのアクティビティーを起動しない
search.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH ||
actionId == EditorInfo.IME_ACTION_DONE ||
event.getAction() == KeyEvent.ACTION_DOWN &&
event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
if (!event.isShiftPressed()) {
// the user is done typing.
text = search.getText().toString();
new SearchActivity(text);
Intent it = new Intent(MainActivity.this, SearchActivity.class);
startActivity(it);
return true; // consume.
}
}
return false;
}
});
はSearchActivity
public class SearchActivity extends AppCompatActivity {
private String text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_activity);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
public SearchActivity(String text) {
this.text = text;
}
}
ためのコードであるここで事前
〜で。私はMainActivity.thisを使用する必要があります。とにかくありがとう、 – SuperMan19