安卓代码执行流程问题

z1476396586
  • 119

在代码执行到某一处会弹出一个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();
            }
        });
回复
阅读 1.3k
1 个回答

alert的监听肯定是要的.要么是alert上面的按钮被点击回调,要么是监听alert的关闭回调,根据业务来确定,
至于下面的代码你可以 放在其他地方,做一个2次回调,就行了,就比如:

alert.setListener(new Listener(){
    public void onXXX(){
        //如果你不喜欢在这里写代码可以在这里做一个2次回调.到其他地方.或者用变量.
    }
});
宣传栏