Heim > Fragen und Antworten > Hauptteil
在代码执行到某一处会弹出一个NumberPicker,我希望在NumberPick选中值后再继续执行下面的代码,请问该怎么做呢,印象里有什么锁来着,行不行呢,下面是代码,麻烦大家帮忙看看,谢谢
autoClean.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
alert.setTitle("选择清理间隔(时)");
alert.show(); //这里弹出了对话框,我希望后面的代码在对话框点击了下面的确定按钮后执行,并且下面的代码不要写到确定按钮的监听器下
Log.d("TAG","fuck");
Intent intent = new Intent(ProccessesActivity.this,AutoCleanService.class);
getApplicationContext().startService(intent);
}else {
}
}
});
confirmTimeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor sharedPreferences=getSharedPreferences("data",MODE_PRIVATE).edit();
sharedPreferences.putInt("autoCleanTime",numberPicker.getValue());
sharedPreferences.commit();
Log.d("TAG","changed");
alert.dismiss();
}
});
阿神2017-04-18 09:16:37
alert的监听肯定是要的.要么是alert上面的按钮被点击回调,要么是监听alert的关闭回调,根据业务来确定,
至于下面的代码你可以 放在其他地方,做一个2次回调,就行了,就比如:
alert.setListener(new Listener(){
public void onXXX(){
//如果你不喜欢在这里写代码可以在这里做一个2次回调.到其他地方.或者用变量.
}
});