2017-10-28 235 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来了,我知道这是一个奇怪的问题 –

相关问题