我在Activity类
的onCreate()方法中编写了以下代码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 :(得分:5)
试试这个
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();
}
});
答案 1 :(得分:2)
我的建议是
通过移动以下代码制作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();
调用doSth()
中的onCreate()
函数。
并将您的onClickListener
修改为:
btn.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
doSth();
}
});
这可以解决您的问题。
答案 2 :(得分:1)
删除此行:
btn.performClick();