嗨,我正在使用SherlockActivity,我需要将快速过滤条移到右边(对不起,如果我不是真名)
我该怎么做?
答案 0 :(得分:1)
我猜你想在ActionBar中附加EditText作为过滤器输入字段。
定义菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/search"
android:icon="@android:drawable/search"
android:actionLayout="@layout/search"
android:showAsAction="never"
android:title="@string/about">
</item>
</menu>
在onCreateOptionsMenu()方法中为您的项添加操作布局:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.actions, menu);
EditText add= (EditText)menu.findItem(R.id.search).getActionView()
.findViewById(R.id.title);
add.setOnEditorActionListener(this);
return(super.onCreateOptionsMenu(menu));
}
定义您的操作布局search.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Word:"
android:textAppearance="@android:style/TextAppearance.Medium"/>
<EditText
android:id="@+id/title"
android:layout_width="100sp"
android:layout_height="wrap_content"
android:layout_marginLeft="4dip"
android:layout_marginTop="4dip"
android:imeActionId="1337"
android:imeOptions="actionDone"
android:inputType="text"/>
</LinearLayout>
您的活动/片段应该实现TextView.OnEditorActionListener,或者您可以在onCreateOptionsMenu中将其添加为匿名类:
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
v.getText(); //your input CharSequence to be handled by FilterQueryProvider for example
}
这是一个适合你的解决方案吗?