第一次启动时第一次加载时,活动完成得太快

时间:2016-11-03 04:23:42

标签: android android-activity preferenceactivity

使用此代码仅在第一次启动应用时才发出Activity加载但遇到问题,假设第一次启动的Activity为{ {1}},WebView正在加载,WebView完成得太快。这是我第一次使用Activity加载的代码。

Activity

这是第一次加载的活动的代码

count = readSharedPreferenceInt("cntSP","cntKey");
if(count==0){
    Intent intent = new Intent();
    intent.setClass(MainActivity.this, TemporaryActivity.class);
    startActivity(intent);
    count++;
    writeSharedPreference(count,"cntSP","cntKey");
}

//Read from Shared Preferance
public int readSharedPreferenceInt(String spName,String key){
    SharedPreferences sharedPreferences = getSharedPreferences(spName,Context.MODE_PRIVATE);
    return tempInt = sharedPreferences.getInt(key, 0);
}     

//write shared preferences in integer
public void writeSharedPreference(int ammount,String spName,String key ){
    SharedPreferences sharedPreferences = getSharedPreferences(spName, Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();

    editor.putInt(key, ammount);
    editor.commit();
}

2 个答案:

答案 0 :(得分:2)

好。您已实施此方法onPageFinished(),并在该方法内的onCreate()内执行此片段。

public void onPageFinished(WebView view, String url) {
    //You code, which you had put inside onCreate() should go here.
}

修改

Intent intent = new Intent(MainActivity.this, TemporaryActivity.class);
startActivity(intent);
...

新编辑

public class C01561 extends WebViewClient {
    private Context context;
    C01561(Context context) {
        this.context = context;
    }

    public void onPageFinished(WebView view, String url) {
        Reg_Status.this.pBar.setVisibility(ProgressBar.INVISIBLE);

        Intent intent = new Intent(context, TemporaryActivity.class);
        startActivity(intent);
    }
}

当您创建WebViewClient的实例时,请确保传递MainActivity上下文。

webView.setWebViewClient(new C01561(MainActivity.this));

答案 1 :(得分:1)

创建一个处理程序以延迟第二个活动的开始。

new Handler().postDelayed(new Runnable() {


        @Override
        public void run() {
            Intent intent = new Intent();
            intent.setClass(MainActivity.this, TemporaryActivity.class);
            startActivity(intent);

        }
    }, TIME_OUT);

现在,在if条件中调用此处理程序并相应地设置TIME_OUT