-2
    protected void onListItemClick(ListView list, View view, int position, long id)   
    {
    super.onListItemClick(list, view, position, id);
    fname=r.get(position);
    fid=s1.get(position); 

    if(tid!=null)  
    {
     try{
          //http post
          HttpClient httpclient = new DefaultHttpClient();
          HttpPost httppost = new HttpPost("http://192.168.0.5/staging/android/add_playlist_songs.php?uid="+uid+"&tid="+tid+"&fid="+fid+"&action=add");
          System.out.println("addsongurl==="+ur);
          System.out.println(httppost);
          httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
          HttpResponse response = httpclient.execute(httppost);
          HttpEntity entity = response.getEntity();
          is = entity.getContent();
        }
    catch(Exception e){
          Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
        }
          //Convert response to string  
          try
          {
             BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
             sb = new StringBuilder();
             String line = null;
             while ((line = reader.readLine()) != null) 
             {
             sb.append(line + "\n");
             }
             is.close();
             result = sb.toString();
             // Toast.makeText(getBaseContext(),"Song successfully added.",Toast.LENGTH_LONG).show();
             }
             catch(Exception e)
             {
             Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
             }          
             Toast.makeText(this, "Song Added",Toast.LENGTH_SHORT).show();

リストの値をクリックすると、URL がヒットしたことを意味し、その時点でこのアクティビティを終了して戻りたいですか?

4

1 に答える 1

0

この方法を試してください。私の提案として、doInBackground()でAsynctaskを使用してすべてのWebサービスコードを実行し、onPostExecute()で残りのプロセスを次のように実行してみてください。

// onItemclick()内

     new GetTask().execute();

//GetTaskクラス

          public class GetTask extends AsyncTask<Object, Void, String> {

             ProgressDialog progdialog;
              @Override
    protected void onPreExecute() {
        super.onPreExecute();

        progdialog = ProgressDialog.show(context, null,
                "loading..");

    }

            @Override
    protected String doInBackground(Object... params) {
         //webservice 

        return null;
    }

    @Override
    protected void onPostExecute(String result) {
        progdialog.dismiss();

                 // finish the activity..
                //   if you start this activity without finishing then call as 
                     finish();
                // if not 
                    Intent in=new Intent(currentclass.this,nextactivity.class);
                     startActivity(in);
                    finish();


        super.onPostExecute(result);
    }


          }

alertdialog:

             new AlertDialog.Builder(AccountListActivity.this)
    .setTitle("Title")
    .setMessage(message))
    .setPositiveButton(ok), new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog,int which) {
    Intent in = new Intent(currentClass.this,nextactivity.class);
        startActivity(in);
    }
    }).show();

それはあなたを助けるかもしれません...

于 2012-06-26T11:23:45.737 に答える