2012-12-12 68 views
1

我在sherlock中的搜索視圖中遇到問題,因此我決定使用編輯文本。但是當我想使用編輯文本我的應用程序崩潰(android 2.3)。我怎麼能在android 2.3的sherlock活動中使用search edittext或searchview?搜索Sherlock中的編輯文本Acionbar

這裏是我的onCreateOptionsMenu功能:

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater minflater = getSupportMenuInflater(); 
    minflater.inflate(R.menu.activity_main, menu); 
    View v = (View) menu.findItem(R.id.search).getActionView(); 
    txtSearch = (EditText) v.findViewById(R.id.txt_search); 
    txtSearch.setOnEditorActionListener(new OnEditorActionListener() { 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 

      return false; 
     } 
    }); 
    return true; 
} 

,這是我的EditText XML數據源:

<EditText 
    android:id="@+id/txt_search" 
    android:inputType="text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:cursorVisible="true" 
    android:hint="@string/hint" 
    android:imeOptions="actionDone" 
    android:textColor="@android:color/black" 
    android:textCursorDrawable="@android:color/black"  
    /> 

和我的搜索菜單項:

<item 
    android:id="@+id/search" 
    android:title="Search" 
    android:icon="@android:drawable/ic_menu_search" 
    android:showAsAction="always|collapseActionView" 
    android:actionViewClass="@layout/search_layout" 
    /> 

如果有人知道的方式要在sherlock活動中使用searchview或在sherlock操作欄中使用edittext進行搜索,請注意我。

+0

我沒有使用大偵探活動,而且我用Textwatcher用於過濾我的列表與EditText(有點搜索!)希望它有幫助。 –

回答

0

工作對我來說:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
getSupportMenuInflater().inflate(R.menu.your_menu, menu); 

// "0" is the number of menu item search in my example 
menu.getItem(0).setActionView(R.layout.your_layout_search); //your layout with edittext 
EditText editSearch = (EditText) menu.getItem(0).getActionView().findViewById(R.id.edit_search); 

return super.onCreateOptionsMenu(menu); 
} 
相關問題