2015-04-04 2 views
3

Я застрял в этой ошибке.[Android] Объект нельзя передать в java.lang.String Asynctask

java.lang.ClassCastException: java.lang.Object [] не может быть приведен к java.lang.String []

это полный код.

` protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main);

edTenDangNhap =(EditText) findViewById(R.id.edTenDangNhap); 
    edMatKhau =(EditText) findViewById(R.id.edMatKhau); 
    btnDangKi =(Button) findViewById(R.id.btnDangKi); 
    btnDangNhap =(Button) findViewById(R.id.btnDangNhap); 

    btnDangNhap.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String tentk = edTenDangNhap.getText().toString(); 
      String matkhau = edMatKhau.getText().toString(); 

      // ==== I execute AsyncTask there 
      AsyncTask dangnhap = new AsyncDangNhap(); 
      dangnhap.execute(tentk,matkhau); // IDE announce there : JDK 5.0 only. Unchecked to call execute Params ... 
     } 
    }); 
} 
public class AsyncDangNhap extends AsyncTask<String[], Void, Integer>{//error there 
    @Override 
    protected Integer doInBackground(String[]... params) { 
     WebService sv = new WebService(); 
     int kiemtra = sv.KiemTraDangNhap(params[0],params[1]); 
     return kiemtra; 
    } 
    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     Toast.makeText(getApplicationContext(),"Dang xu li ... !",Toast.LENGTH_LONG).show(); 
    } 
    @Override 
    protected void onPostExecute(Integer result) { 
     super.onPostExecute(result); 
     if(result >0){ 
      //Dang nhap thanh cong 
      Toast.makeText(getApplicationContext(),"Dang nhap thanh cong !",Toast.LENGTH_LONG).show(); 
     }else{ 
      Toast.makeText(getApplicationContext(),"Dang nhap that bai !",Toast.LENGTH_LONG).show(); 
     } 
    } 
}` 

ответ

1

Изменение String[] к String в AsyncTask и doInBackground метод, потому что в настоящее время прохождения строк в dangnhap.execute методе вместо струнного Array.like:

public class AsyncDangNhap extends AsyncTask<String, Void, Integer>{ 
    @Override 
    protected Integer doInBackground(String... params) { 
     ..... 
    } 

    .... 
} 
+0

ТКС, но я пытаюсь использовать String, и String [], но он по-прежнему не работа. Есть вероятность, что это проблема с jdk, потому что кто-то все еще работает с этим кодом!? –

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