rei*_*ley 5 search android android-activity
在我的应用程序中,我希望搜索按钮执行单独的操作Activity.即,当我按下搜索按钮时,从应用程序的任何位置,我想要一个单独的Activity被调用.
有没有办法,而不是onSearchRequested()在每个活动中定义,我只是在一个地方(如Manifest.xml)配置它,它可以在整个应用程序中使用?
您可以定义一个(不一定)扩展Activity的抽象类,在那里实现onSearchRequest并从该类继承所有其他Activity类.这样,您只需要定义一次onSearch行为.
即
public abstract class MyBaseActivity extends Activity {
@Override
public void onSearchRequest() {
// Your stuff here
}
}
public class MyActivity1 extends MyBaseActivity {
// OnSearchRequest is already implemented
}
Run Code Online (Sandbox Code Playgroud)
如果您计划使用多个Activity的子类,即ListActivity,这可能不是一个好的解决方案,因为您必须为您使用的所有Activity子类创建一个抽象基类.在这种情况下,我建议创建一个额外的类,封装搜索按钮处理代码并从您的活动onSearchRequest调用,即
public class SearchButtonHandle {
public void handleSearch(Context c) {
// Your search btn handling code goes here
}
}
public class MyActivity1 extends Activity { // Or ListActivity ....
@Override
public void onSearchRequest() {
new SearchButtonHandle().handleSearch(this);
}
}
Run Code Online (Sandbox Code Playgroud)
当然,您也可以通过定义您使用的所有Activity子类的Abstract Subclass来组合这两个approches,并使用外部搜索处理程序实现onSearchRequest,如上例所示
| 归档时间: |
|
| 查看次数: |
2878 次 |
| 最近记录: |