我必须单击后退按钮两次才能返回到上一个活动



我创建了一个包含search viewlist view的活动。当我试图回到main activity时,我必须按两次button,第一次search view上的指针消失,第二次带我到main activity

如何解决?按下button时,我需要直接进入main activity

    setContentView(R.layout.activity_drugs);
    lv= findViewById(R.id.idlistview);
    searchView= findViewById(R.id.idsearch);
    drugadapter= new ArrayAdapter<>(this, 
    android.R.layout.simple_list_item_1, data);
    lv.setAdapter(drugadapter);
    searchView.setOnQueryTextListener(this);
    View focused = getCurrentFocus();
    focused.clearFocus();
     lv.setOnItemClickListener(new AdapterView.OnItemClickListener() 
      {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int i, 
       long id) {

        Intent intent2=new 
        Intent(DrugsActivity.this,ResultDrugActivity.class);
        intent2.putExtra("drug",lv.getItemAtPosition(i).toString());
        intent2.putExtra("age", age11 );
        intent2.putExtra("weight", weight11 );
        startActivity(intent2);
    }
     });

        boolean onQueryTextChange(String newText) {
       drugadapter.getFilter().filter(newText);
          return false;
           }

通过阅读您的方案,希望这会对您有所帮助,如果没有发布您的代码

@Override
public void onBackPressed() {
    hideKeyboard();
    super.onBackPressed();
}

因此,当在我们的布局中调用onBackPressed((时,我们可以做任何我们想做的事情,比如隐藏键盘:

private void hideKeyboard() {
    InputMethodManager imm = (InputMethodManager) 
        getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(mInputField.getWindowToken(), 0);
}

使用以下代码

@Override
public void onBackPressed() {
    if(lv.getVisibility()==View.VISIBLE){
      lv.setVisibility(View.INVISIBLE);
      return;
    }
    super.onBackPressed();
}

希望这有帮助。

最新更新