Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android显示搜索结果方法_Android_Load - Fatal编程技术网

Android显示搜索结果方法

Android显示搜索结果方法,android,load,Android,Load,我想在屏幕上显示搜索结果,我已经实现了这样一种方式 从搜索表单用户填写“搜索字段”和“搜索位置”,我将值设置到bean中,该bean是静态的,因此我可以从任何地方访问它 然后,我使用 Intent mainIntent = new Intent(SearchVenueResults.this, SearchResults.class); startActivity(mainIntent); 在'SearchResults'活动'oncreate'方法中,我代表静态bean加载数据,静态bean

我想在屏幕上显示搜索结果,我已经实现了这样一种方式

从搜索表单用户填写“搜索字段”和“搜索位置”,我将值设置到bean中,该bean是静态的,因此我可以从任何地方访问它

然后,我使用

Intent mainIntent = new Intent(SearchVenueResults.this, SearchResults.class);
startActivity(mainIntent);
在'SearchResults'活动'oncreate'方法中,我代表静态bean加载数据,静态bean的值从搜索表单中填充,然后显示数据

@Override
    public void onCreate(Bundle savedInstanceState) {
        loadDataAndSetupUI();
        super.onCreate(savedInstanceState);
    }
我的问题是,使用它是正确的方法,还是在Android中有另一种更好的方法


任何快速的想法或快速的代码都是值得赞赏的。

一般来说,结果屏幕活动的
onCreate
处理程序绝对是一个很好的地方。然而,从你问题的字里行间看,我注意到至少有两件事可能会引起问题:

首先,使用静态对象将值从一个活动传输到另一个活动显然是错误的方法。这是因为Android中已经有了一个定义良好的机制来在上下文之间交换数据,那就是通过和。因此,要告诉您的结果活动您的用户正在搜索的内容,请执行以下操作:

Intent mainIntent = new Intent(SearchVenueResults.this, SearchResults.class);
mainIntent.putExtra("search_query", getValueFromSearchBox());
startActivity(mainIntent);
在SearchResults活动中,在onCreate中执行此操作:

public void onCreate(Bundle savedInstanceState) {
    String searchQuery = getIntent().getExtras().getStringExtra("search_query");
    loadDataAndSetupUI(searchQuery);
    super.onCreate(savedInstanceState);
}
此外,就静态变量的生命周期而言,Android的行为非常不可预测。我多次注意到,在activity类中维护静态变量并不能保证在启动新活动时该变量仍然有效,因此您永远不应该依赖静态作为类之间交换数据的手段

其次,您肯定不希望实现同步运行的
loadDataAndSetupUI
。这样做将锁定你的用户界面,直到搜索终止,Android甚至可能决定终止你的应用程序。用于后台作业