2016-04-29 7 views
0

これを理解しようとすると助けが必要ですが、以前は機能しましたが、いくつかのコードを変更すると問題になる可能性があります。おそらく、私は断片から活動に変わるからです。バックグラウンドタスクのバックグラウンドタスク(コンテキスト)を()に適用できません

btnRegister.setOnClickListener(new android.view.View.OnClickListener() { 
      @Override 
      public void onClick(android.view.View v) { 

       if (name.getText().toString().equals("") || email.getText().toString().equals("") || pw.getText().toString().equals("")) { 


        android.app.AlertDialog.Builder alertDialogBuilder = 
          new android.app.AlertDialog.Builder(Register.this); 
        alertDialogBuilder.setTitle("Something went wrong"); 
        alertDialogBuilder.setMessage("Please check and fill in all the fields"); 
        alertDialogBuilder.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener() { 
         public void onClick(android.content.DialogInterface dialog, int which) { 
          dialog.dismiss(); 
         } 
        }); 
        //displaying of alert dialog 
        android.app.AlertDialog alertDialog = alertDialogBuilder.create(); 
        alertDialog.show(); 
       } 
       //checking pw and confirm pw 
       else if (!pw.getText().toString().equals(pwConf.getText().toString())) { 

        android.app.AlertDialog.Builder alertDialogBuilder = 
          new android.app.AlertDialog.Builder(Register.this); 
        alertDialogBuilder.setTitle("Something went wrong"); 
        alertDialogBuilder.setMessage("Your passwords are not matching"); 
        alertDialogBuilder.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener() { 
         public void onClick(android.content.DialogInterface dialog, int which) { 
          dialog.dismiss(); 
          pw.setText(""); 
          pwConf.setText(""); 
         } 
        }); 
        android.app.AlertDialog alertDialog = alertDialogBuilder.create(); 
        alertDialog.show(); 
       } 

       else{ 
        BackgroundTask backgroundTask = new BackgroundTask(); 
        backgroundTask.execute("register", name.getText().toString(), email.getText().toString(), pw.getText().toString()); 
       } 
      } 
     }); 

うん、それはバックグラウンドタスク=新しいバックグラウンドタスクの設定でですので、バックグラウンドタスクで「バックグラウンドタスク(コンテキスト)というエラーが()には適用できません示している。

ここに私のBackgroundTaskのですクラス。

public class BackgroundTask extends android.os.AsyncTask<String, Void, String>{ 

    android.content.Context ctx; 
    android.app.Activity activity; 
    android.app.ProgressDialog progressDialog; 
    String register_url = "http://10.0.2.2/mydb/register.php"; 
    android.app.AlertDialog.Builder builder; 


    public BackgroundTask(android.content.Context ctx) { 

     this.ctx = ctx; 
     activity = (android.app.Activity)ctx; 

    } 
+0

lightbuildもコンストラクタの最初のパラメータContext ctxを削除するのを助けます。 –

答えて

2

あなたのコンストラクタは、コンテキストが必要です。変更

BackgroundTask backgroundTask = new BackgroundTask(); 

+0

Francesc、助けてくれてありがとう –

関連する問題