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

时间:2015-02-24 22:52:03

标签: java android json android-asynctask searchview

所以我正在制作这个用于在线搜索电影的学生项目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) {

        }
    }
}
}

此搜索应返回的数据(如果搜索词是绿巨人)如下:[The Incredible Hulk,Hulk,HULK VS.,Hulkamania Forever,Hulk Hogan的历史冠军,Hulk Hogan - The Missing Matches]和与搜索词一样多的东西。我正在使用Java客户端来处理烂番茄API,它为我做了大部分编码(http请求和json对象解析)。

1 个答案:

答案 0 :(得分:0)

您应该使用课程ArrayAdapter

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