Android Asynctask passing a single string

前端 未结 2 1251
孤街浪徒
孤街浪徒 2021-02-07 04:56

I would like to pass a single string into an asynctask. Could anyone show me how it is done? my getEntity needs The method getEntity(Activity, String, EntityGetListener) but I k

相关标签:
2条回答
  • 2021-02-07 05:13

    You can build AsyncTask with a constructor.

    public class RemoteDataTask extends AsyncTask<String, String, Long> {
    
        private String data;
    
        public RemoteDataTask(String passedData) {
            data = passedData;
        }
    
        @Override
        protected String doInBackground(Context... params) {
            // you can access "data" variable here.
            EntityUtils.getEntity(activity, params, new EntityGetListener() {
                @Override
                public void onGet(Entity entity) {
                    viewcount = entity.getEntityStats().getViews();
                }
                @Override
                public void onError(SocializeException error) {
                }
            });
            return null;
        }
    }
    

    In the application (Activity, Service etc), you can use;

    private RemoteDataTask mTask;
    private void doStuff(){
        String pass = "meow"; // story.get(position).getEntity();
        mTask = new RemoteDataTask(pass);
        mTask.execute();
    }
    
    0 讨论(0)
  • 2021-02-07 05:28

    You already have this

         new RemoteDataTask().execute(pass); // assuming pass is a string
    

    In doInbackground

         @Override
         protected Long doInBackground(String... params) {   
    
                 String s = params[0]; // here's youre string
                 ...      //rest of the code. 
         }
    

    You can find more info @

    http://developer.android.com/reference/android/os/AsyncTask.html

    0 讨论(0)
提交回复
热议问题