私はasyncクラスの結果データを文字列変数に追加したいのですが、私は非同期クラスのobjを作成している間にメインクラスから文字列変数を渡しています。 asyncクラスの結果値をその文字列に代入していますが、メインクラスの文字列を出力すると結果値が得られませんでした。主なクラスからの文字列とそのtextviewに結果の値を設定し、私は結果の値を持ってメインから値を取得するには、私は文字列を渡すことによって同じ機能をしたいテキストビュー。Android非同期クラス投稿機能
私はasyncclass呼び出していますかザッツ:
getCountryId getCountryid=new getCountryId(this, roleField); // rolefield is textview
getCountryid.execute(itemcountry);
私の非同期クラスです:代わりに
public class getCountryId extends AsyncTask<String,Void,String> {
private Context context;
private TextView role;
public getCountryId(Context context, TextView role){
this.context=context;
this.role=role;
}
protected void onPreExecute(){
}
@Override
protected String doInBackground(String... arg0) {
try{
String z = (String)arg0[0];
String link="http://ipadress/regform/getstateid.php";
String data = URLEncoder.encode("z", "UTF-8") + "=" + URLEncoder.encode(z, "UTF-8");
URL url = new URL(link);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while((line = reader.readLine()) != null)
{
sb.append(line);
break;
}
return sb.toString();
}
catch(Exception e){
return new String("Exception: " + e.getMessage());
}
}
@Override
protected void onPostExecute(String result){
role.setText(result);
}
}
私のpostメソッドでは、asyncの結果値をasyncのTextview(ロール)に設定しました。私のメインクラスでは、そのTextViewのgetText()関数を呼び出してテキストを取得します。 –
助けてくれてありがとう。 –