我有一个列表视图,其中三个从mysql数据库链接,我正在使用Asynctask,只是调用AsyncTask,但我 想在AsyncTask中一起调用两个Web服务,在我的列表中显示数据,请发送代码或想法。我没有找到解决方案。
我的代码:
public class MainActivity extends AppCompatActivity {
ListView SubjectListView;
ProgressBar progressBarSubject;
String ServerURL = "http://192.168.1.233/conn/getTechnicien.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SubjectListView = (ListView) findViewById(R.id.listview1);
new GetHttpResponse(MainActivity.this).execute(ServerURL);
}
private class GetHttpResponse extends AsyncTask<String, Void,
ArrayList<subjects>>
{
public Context context;
String ResultHolder;
public GetHttpResponse(Context context)
{
this.context = context;
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
}
@Override
protected ArrayList<subjects> doInBackground(String... arg0)
{
HttpServicesClass httpServiceObject = new
HttpServicesClass(arg0[0]);
ArrayList<subjects> subjectsList = new ArrayList<subjects>();
try
{
httpServiceObject.ExecutePostRequest();
if(httpServiceObject.getResponseCode() == 200)
{
ResultHolder = httpServiceObject.getResponse();
if(ResultHolder != null)
{
JSONArray jsonArray = null;
try {
jsonArray = new JSONArray(ResultHolder);
JSONObject jsonObject;
subjects subjects;
for(int i=0; i<jsonArray.length(); i++)
{
subjects = new subjects();
jsonObject = jsonArray.getJSONObject(i);
subjects.SubjectName =
jsonObject.getDouble("tarif");
subjectsList.add(subjects);
}
Toast.LENGTH_SHORT).show();
}
catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else
{
Toast.makeText(context, httpServiceObject.getErrorMessage(),
Toast.LENGTH_LONG).show();
}
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return subjectsList;
}
@Override
protected void onPostExecute(ArrayList<subjects> result1)
{
final ArrayList<subjects> result=result1;
Toast.makeText(context, "Size:- " +result.size(),
Toast.LENGTH_SHORT).show();
progressBarSubject.setVisibility(View.GONE);
SubjectListView.setVisibility(View.VISIBLE);
if(result.size() != 0)
{
final ListAdapterClass adapter = new ListAdapterClass(result,
context);
SubjectListView.setAdapter(adapter);
SubjectListView.setOnItemClickListener(new
AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int pos, long id) {
String selectedItem =
parent.getItemAtPosition(pos).toString();
}); } } }