android actionbar sherlock collospe并展开

时间:2013-10-14 10:48:36

标签: android actionbarsherlock

我有以下代码:

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中有一个搜索图标。当我点击搜索图标时,会打开编辑文本并显示取消按钮。搜索工作正常。现在,当我单击取消按钮时,我想隐藏edittext和取消按钮。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

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

item.collapseActionView();

感谢您的回复,希望这会有助于其他人。

答案 1 :(得分: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);
    }
}