按钮单击事件不执行

问题描述:

我在OnCreate中写入以下代码()Activity类按钮单击事件不执行

Button btn=(Button)findViewById(R.id.button1); 
     btn.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View v) 
      { 
       WindowManager.LayoutParams params = getWindow().getAttributes(); 
       params.screenBrightness = 0; 
       getWindow().setAttributes(params); 
       Toast.makeText(v.getContext(),"Button Clicked",Toast.LENGTH_LONG).show(); 
      } 
     }); 
     btn.performClick(); 

的方法,但问题是,在按钮上点击的动作没有发生,但如果我点击该按钮然后执行此操作。

我想通过使用代码来锁定屏幕,但它的onCreate的全部执行()方法后锁定,

任何猜我怎么能做到这一点。

+0

什么是工作,不是什么呢? –

+0

只有当我点击那个按钮 –

+0

它正在工作,而不点击按钮。 – Debarati

试试这个

final Button backto_main = (Button) findViewById(R.id.back3x3); 
    backto_main.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) {     
      //add your code here.. 
      WindowManager.LayoutParams params = getWindow().getAttributes(); 
      params.screenBrightness = 0; 
      getWindow().setAttributes(params); 
      Toast.makeText(v.getContext(),"Button Clicked",Toast.LENGTH_LONG).show(); 
     } 
    }); 
+0

对不起,没有结果 –

+0

按钮点击工作与否 –

+0

按钮点击工作时,当我点击,但通过btn.performClick()没有影响发生 –

我的建议是

通过移动以下代码做一个function

private void doSth(){ 
    WindowManager.LayoutParams params = getWindow().getAttributes(); 
    params.screenBrightness = 0; 
    getWindow().setAttributes(params); 
    Toast.makeText(v.getContext(),"Button Clicked",Toast.LENGTH_LONG).show(); 
} 

而不是做btn.performClick();呼叫onCreate()功能doSth()和。

,并修改onClickListener为:

btn.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View v) 
      { 
       doSth(); 
      } 
     }); 

这应该解决您的问题。

+0

不,这个问题仍然存在 –

+2

不,它绝对有效;问题在于你的编码实现。 –

删除此行:

btn.performClick(); 
+0

通过删除这个,没有任何反应 –

+1

然后@gt_ebuddy满足你的问题,除非你实现完全错误。 –