2017-10-28 281 views
0

我試圖創建一個介紹活動用戶點擊後,只出現一次跳躍按鈕,跳過按鈕允許用戶去mainactivity 我的問題我已經是當我點擊跳過按鈕時,沒有得到任何東西,直到我按兩次或三次,之後,跳過按鈕效果不錯,我真的不知道Onclick方法不起作用的原因 這個我的代碼:必須點擊兩次打電話給一個onclick

public class intro extends Activity { 
    Button skip; 
    SharedPreferences appPreferences; 
    boolean isclick = false; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.activity_intro); 
     skip = (Button)findViewById(R.id.skip); 
     hide(); 
     appPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
     isclick= appPreferences.getBoolean("isclick",false); 
     if(isclick){ 
      Intent toMain = new Intent(this,MainActivity.class); 
      startActivity(toMain); 
     } 
     skip.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if(!isclick){ 
        Intent toMain = new Intent(intro.this,MainActivity.class); 
        startActivity(toMain); 
        finish(); 
        SharedPreferences.Editor editor = appPreferences.edit(); 
        editor.putBoolean("isclick", true); 
        editor.apply(); 
       } 
      } 
     }); 
    } 
+1

只需添加'Log.e( 「點擊」, 「點擊」)在''你onClickListener()'之前如果條件和檢查天氣的事件是否工作 –

+0

我建議你在你的條件之前添加日誌,並檢查天氣你得到正確的日誌 –

+0

如果你的跳過是文本視圖,那麼面積是小的這將是問題。根據以上評論首先添加日誌,然後分析。 – Mayuri

回答

1

您的isClick邏輯對我來說沒有意義。而不是總是運行這個介紹,但是如果isclick是真的,那麼立即開始主要活動,爲什麼不具備是否在mainactivity中執行介紹的邏輯。像這樣的事情在mainactivity:

protected void onCreate(Bundle savedInstanceState) { 

    SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
    if (!appPreferences.getBoolean("introSkipped", false)) { 
     Intent toIntro = new Intent(this,Intro.class); 
     startActivity(toIntro); 
    } else { 
    // continue with main as normal 
    } 
} 

然後,你的跳過按鈕的onClick簡直變成:

 skip.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) {      
       SharedPreferences.Editor editor = appPreferences.edit(); 
       editor.putBoolean("introSkipped", true); 
       editor.apply(); 
       finish();     
     } 
    }); 
+0

主要性應該是發射器的活動嗎? –

+1

是的 - 所以你可能需要改變你的清單。它看起來在你的代碼中有一個MainActivity.class,所以我認爲這對你來說 –

+0

非常感謝它的工作正常,但並不順利一個android api 21當我點擊按鈕後,我應該等待2秒鐘後mainactivity來了,我知道這是一個奇怪的問題 –

相關問題