In der ProgressDialog-Initialisierung wird angezeigt, dass LoginActivity.this keine einschließende Klasse ist. In onPostExecute() Methode Toast wird nicht ausgeführt und getApplicationContext() -Methode kann nicht gelöst werden.getApplicationContext() -Methode kann nicht aufgelöst werden, LoginActivity.this ist keine einschließende Klasse
public class LoginActivity extends AppCompatActivity {
EditText et1,et2;
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login2);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
et1=(EditText)findViewById(R.id.editText5);
et2=(EditText)findViewById(R.id.editText6);
b=(Button)findViewById(R.id.button2);
}
public void login(View view)
{
new BackgroundTask().execute(et1.getText().toString(),et2.getText().toString());
Toast.makeText(this,"Button",Toast.LENGTH_LONG).show();
}
}
class Background extends AsyncTask<String, Integer, Integer>
{
ProgressDialog progressDialog=new ProgressDialog(LoginActivity.this);;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog.setMessage("Processing");
progressDialog.setTitle("Title");
progressDialog.show();
}
int check_point =0;
String resp="";
@Override
protected Integer doInBackground(String... params) {
try {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://192.168.1.6/login.php");
HttpResponse response = client.execute(post);
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String s;
while ((s = reader.readLine()) != null) {
resp=resp+s;
}
}
catch (Exception e)
{
System.out.print(e);
}
return check_point;
}
@Override
protected void onPostExecute(Integer integer) {
super.onPostExecute(integer);
progressDialog.dismiss();
Toast.makeText(getApplicationContext(),"ACtivity",Toast.LENGTH_LONG).show();
}
}
Wie wird Login (Ansicht Ansicht) auf die tatsächliche Button-Instanz verbunden? Bitte verwenden Sie Log anstelle von Toast & System.out.print. Warum initialisierst du progressDialog aus dem onPreExecute? Wenn Sie bedenken, dass die AsyncTask eine innere Klasse von LoginActivity ist, warum initialisieren Sie progressDialog mit dem Aktivitätskontext und verwenden Sie den Anwendungskontext onPostExecute? – randomuser
was soll ich dann tun? –
ich denke, mit Keyword „this“ anstelle von „LoginActivity.this“ sollte das Problem –