Link 到新 activity 使用 AsyncTask onPostExecute?
Link to new activity usin AsyncTask onPostExecute?
我在 link 从主页转到其他页面时遇到问题。我已经搜索并 运行 所有已在此处询问的问答,但有错误。
谁能帮帮我。。很有用。。tq
public class BackgroundTask extends AsyncTask<String,Void,String>
{
AlertDialog alertDialog;
ProgressDialog progressDialog;
Context ctx;
BackgroundTask(Context ctx)
{
this.ctx=ctx;
}
@Override
protected void onPreExecute()
{
alertDialog= new AlertDialog.Builder(ctx).create();
alertDialog.setTitle("Login Information...");
}
@Override
protected String doInBackground(String... params)
{
String login_url="http://10.0.2.2/webapp/login.php";
String method = params[0];
}
@Override
protected void onProgressUpdate (Void... values)
{
super.onProgressUpdate(values);
}
这是部分...
@Override
protected void onPostExecute (String result)
{
alertDialog.setMessage(result);
alertDialog.show();
//Want to go new activity page`enter code here`
}
}
已经试过了,但是不行。
Intent intent = new Intent(MyAsyncTaskActivity.this, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
Intent intent = new Intent(ctx, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //optional
ctx.startActivity(intent);
你应该遵循这个结构
public class MyAsyncTaskActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_screen);
....
new BackgroundTask().execute();
....
}
private class BackgroundTask extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... arg0) {
// ….
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
Intent intent = new Intent(MyAsyncTaskActivity.this,NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //optional
startActivity(intent);
finish();
}
}
}
希望对您有所帮助
我在 link 从主页转到其他页面时遇到问题。我已经搜索并 运行 所有已在此处询问的问答,但有错误。 谁能帮帮我。。很有用。。tq
public class BackgroundTask extends AsyncTask<String,Void,String>
{
AlertDialog alertDialog;
ProgressDialog progressDialog;
Context ctx;
BackgroundTask(Context ctx)
{
this.ctx=ctx;
}
@Override
protected void onPreExecute()
{
alertDialog= new AlertDialog.Builder(ctx).create();
alertDialog.setTitle("Login Information...");
}
@Override
protected String doInBackground(String... params)
{
String login_url="http://10.0.2.2/webapp/login.php";
String method = params[0];
}
@Override
protected void onProgressUpdate (Void... values)
{
super.onProgressUpdate(values);
}
这是部分...
@Override
protected void onPostExecute (String result)
{
alertDialog.setMessage(result);
alertDialog.show();
//Want to go new activity page`enter code here`
}
}
已经试过了,但是不行。
Intent intent = new Intent(MyAsyncTaskActivity.this, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
Intent intent = new Intent(ctx, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //optional
ctx.startActivity(intent);
你应该遵循这个结构
public class MyAsyncTaskActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_screen);
....
new BackgroundTask().execute();
....
}
private class BackgroundTask extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... arg0) {
// ….
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
Intent intent = new Intent(MyAsyncTaskActivity.this,NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //optional
startActivity(intent);
finish();
}
}
}
希望对您有所帮助