首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android在另一个类中从一个方法获取参数到另一个方法

Android在另一个类中从一个方法获取参数到另一个方法
EN

Stack Overflow用户
提问于 2015-03-21 16:10:59
回答 3查看 174关注 0票数 0

我试图在我的活动中设置搜索视图,当用户在搜索视图上键入搜索关键字时,我每次都需要将值传递给异步任务。我想从这个方法中传递参数'query‘

代码语言:javascript
复制
        public boolean onQueryTextChange(String query) {
                   //want this  'string query' for further processing..

                    return true;

对于此LoadIdioms class>>String doinBackground>> To line>> params.add(新BasicNameValuePair(“关键字”,查询));

代码语言:javascript
复制
class LoadIdioms extends AsyncTask<String, String, String> {

    /**
     * Before starting background thread Show Progress Dialog
     * */
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(getActivity());
        pDialog.setMessage("Loading IDIOMS. Please wait...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();
    }

    /**
     * getting Idioms from url
     * */
    protected String doInBackground(String... args) {
        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        //value captured from previous intent
        params.add(new BasicNameValuePair("keyword",query));     

  class LoadIdioms extends AsyncTask<String, String, String> {

    /**
     * Before starting background thread Show Progress Dialog
     * */
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(getActivity());
        pDialog.setMessage("Loading IDIOMS. Please wait...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();
    }

    /**
     * getting Idioms from url
     * */
    protected String doInBackground(String... args) {
        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        //value captured from previous intent
        params.add(new BasicNameValuePair("keyword",searchkey));                    

我们怎么能轻松地做到这一点,帮助我的程序员..

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-22 07:50:36

最后,我决定把我的编码变成这样。

代码语言:javascript
复制
                public boolean onQueryTextChange(String query) {
                    searchkey=query;
                    new LoadIdioms().execute();
                    lv = getListView();


                    return true;

在这里,我在onquerytextchange方法中调用异步任务类,所以每次发生文本更改时,它都会调用,而不是传递参数值。

票数 0
EN

Stack Overflow用户

发布于 2015-03-21 16:26:25

将该方法返回的布尔值传递到声明的字符串变量中。然后你可以试着在那门课上叫它。

票数 0
EN

Stack Overflow用户

发布于 2015-03-21 16:31:12

以这种方式将值传递到AsyncTask

代码语言:javascript
复制
LoadIdioms  task= new LoadIdioms();
task.execute(query);

并以这种方式在AsyncTaskAsyncTask方法中使用。

代码语言:javascript
复制
params.add(new BasicNameValuePair("keyword",args[0]));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29184890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档