0

我有以下代码:

public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.layout.menu, menu);
}

public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case R.id.settings:
            Intent i=new Intent(class1.this, clas2.class);
            startActivity(i);
            return true;
    }
    return false;
}

我的问题如下:
我在 ActionBar 中有一个搜索图标。当我点击搜索图标时,会打开一个编辑文本并显示取消按钮。搜索工作正常。现在,当我单击取消按钮时,我想隐藏编辑文本和取消按钮。我怎样才能做到这一点?

4

2 回答 2

1

我解决了我的问题......使用

item.collapseActionView();

感谢您的回复,并希望这对其他人有帮助..

于 2013-10-14T11:25:28.433 回答
0

这是我使用过的代码.....

private EditText search;
private Button search_cancle;
@Override
public boolean onOptionsItemSelected(final MenuItem item) {

    int id = item.getItemId();

    if(id==R.id.action_search){
        View v = (View) item.getActionView();
        search = ( EditText ) v.findViewById(R.id.txt_search);
        search.requestFocus();
        InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

        search_cancle=(Button)v.findViewById(R.id.search_cancel);
        search_cancle.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                   item.collapseActionView(); // Here I have set it.....
                search.setText("");
            }
        });
        return true;
    }
    else 
    {
        return super.onOptionsItemSelected(item);
    }
}
于 2013-10-15T07:42:22.487 回答