Java 为使用asynctask的searchview创建基本适配器

Java 为使用asynctask的searchview创建基本适配器,java,android,json,android-asynctask,searchview,Java,Android,Json,Android Asynctask,Searchview,所以我制作了一个学生项目Android应用程序,我用它在线搜索电影 我遇到的问题是,即使有大量的资料要阅读,我也不太理解searchview结果的适配器应该如何制作。我知道查询返回什么样的数据,但我仍然不知道如何为它制作适配器 我只是Java和Android编程的初学者,但这个项目真的让我兴奋不已,我日夜都在努力。如果你有任何建议(改进我的代码),请分享 public class SearchActivity extends ListActivity { @Override protected

所以我制作了一个学生项目Android应用程序,我用它在线搜索电影

我遇到的问题是,即使有大量的资料要阅读,我也不太理解searchview结果的适配器应该如何制作。我知道查询返回什么样的数据,但我仍然不知道如何为它制作适配器

我只是Java和Android编程的初学者,但这个项目真的让我兴奋不已,我日夜都在努力。如果你有任何建议(改进我的代码),请分享

public class SearchActivity extends ListActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.searchactivity);

    Intent intent = getIntent();
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        String query = intent.getStringExtra(SearchManager.QUERY);

        new doMySearch().execute(query);
    }
}

private class doMySearch extends AsyncTask<String, Void, String>{

    @Override
    protected String doInBackground(String... params) {
        String parameters = (params[0]);
        JTomato jtomato = new JTomato("gibberish-cencored");
        jtomato.setPage_limit(1);
        List<Movie> movies = new ArrayList<Movie>();

        String total = String.valueOf(jtomato.searchMovie(parameters, movies, 0));
        return total;
    }

    @Override
    protected void onPostExecute(String result) {

        }
    }
}
}
公共类SearchActivity扩展了ListActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.searchactivity);
Intent=getIntent();
if(Intent.ACTION_SEARCH.equals(Intent.getAction())){
String query=intent.getStringExtra(SearchManager.query);
新建doMySearch().execute(查询);
}
}
私有类doMySearch扩展了异步任务{
@凌驾
受保护的字符串doInBackground(字符串…参数){
字符串参数=(参数[0]);
JTomato JTomato=新JTomato(“胡言乱语”);
jtomato.设置页面_限制(1);
列表电影=新建ArrayList();
String total=String.valueOf(jtomato.searchMovie(参数,movies,0));
返回总数;
}
@凌驾
受保护的void onPostExecute(字符串结果){
}
}
}
}

这个搜索应该返回的数据(如果搜索词是绿巨人)如下:[难以置信的绿巨人,绿巨人,绿巨人VS.,永远的绿巨人,绿巨人霍根的所有时间冠军,绿巨人霍根-缺少的匹配]以及更多可以用这个搜索词找到的数据。我正在使用Java客户机for API,它为我完成大部分编码(http请求和json对象解析)

您可能应该使用该类


您可以将收到的字符串转换为字符串数组,然后使用字符串列表创建
ArrayAdapter
。如果将该适配器设置为活动的列表适配器,它将显示活动中电影的名称。

请更具体一些。您在使用适配器时遇到了哪些问题?如果您遵循了任何类型的教程,那么您不了解教程的哪一部分?现在你问题的唯一答案是阅读并使用这个方法,就像说做你自己的研究。我不明白适配器应该在哪里制造。我应该在asynctask onpostexecute中执行它,还是像oncreate中一样提前执行它。我可能因为压力而精疲力竭,这就是我不明白的原因。我不明白你想要实现什么。是否要在
列表视图中显示结果?因为仅仅创建一个适配器似乎毫无意义。我想在searchview中将结果显示为一个列表。另外,我希望这样,当我选择一个结果时,它会执行另一个异步任务获取。好吧,我只需单击列表的侦听器,然后从那里调用执行。我只需要知道如何在列表中显示第一次搜索的结果。如果我从searchview教程中正确理解了什么,那就是如果我做得正确,它会在“搜索栏”下显示结果。谢谢,我会查看它的。