2013-03-05 5 views
-1

В настоящее время я разрабатываю приложение, в котором я пытаюсь выполнить некоторую работу в фоновом режиме, для которой я использую AsyncTask.Передача нескольких аргументов AsyncTask

я создаю класс AsyncTask как этот

class callingweb extends AsyncTask<String,Void,Void> 
{ 

public callingweb(Context context,Object objects,String...strings) { 

} 
} 

и называя этот класс в моем главном классе, как этот

callingweb cw=new callingweb(this,sampleDB,address,uname,pass); 
cw.execute(); 

где sampleDB является объектом базы данных, адрес uname и передача строковые переменные

Теперь я хочу передать еще один вид конструктору, то есть ListView lv

callingweb cw=new callingweb(login.this,sampleDB,lv,address,uname,pass); 

, пожалуйста, сообщите мне, как я могу это сделать.

благодарит заранее.

ответ

3

Простейшим решением было бы добавить другой конструктор (конструктор-перегруз), чтобы оправдать ListView в качестве еще одного параметра. Например:

//constructor without listview 
public callingweb(Context context,Object objects,String...strings) { 

} 

//constructor with listview 
public callingweb(Context context, ListView lv, Object objects,String...strings){ 

} 
+0

Чтобы развернуть это. Вам, вероятно, также придется хранить переданную ссылку в «ListView» в качестве переменной-члена. Но в этом нет ничего особенного. – Thrakbad

+0

жаль, что задал такой глупый вопрос. Я не знаю, как я забыл простую вещь. большое спасибо. –

Смежные вопросы