小编Mar*_* G.的帖子

DialogFragment中的getContentResolver()和getWindow()

我正在尝试在对话框中插入SeekBar来改变亮度.为此,我编写了这段代码.

public class Lum extends DialogFragment{


        private SeekBar brightbar;
        private int brightness;
        private ContentResolver cResolver;
        private Window window;
        TextView txtPerc;
        boolean stato;
        Context context;

        public android.app.Dialog onCreateDialog(Bundle savedInstanceState) {
            // Use the Builder class for convenient dialog construction

            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

            LayoutInflater inflater = getActivity().getLayoutInflater();
            View view = inflater.inflate(R.layout.dialog_brightness, null);
            builder.setView(view);

        brightbar = (SeekBar) view.findViewById(R.id.brightbar);
        txtPerc = (TextView) view.findViewById(R.id.txtPercentage);
        //cResolver = getContentResolver();
        //window = getWindow();
        brightbar.setMax(255);
        brightbar.setKeyProgressIncrement(1);

        brightbar = (SeekBar) view.findViewById(R.id.brightbar);
        txtPerc = (TextView) view.findViewById(R.id.txtPercentage);
        cResolver = getContentResolver(); …
Run Code Online (Sandbox Code Playgroud)

java xml android dialog

8
推荐指数
1
解决办法
1万
查看次数

在非活动类中注册BroadcastReceiver

我必须在一个我必须在Activity中调用的类中使用BroadcastReceiver.显然,我必须注册BroadcastReceiver然后我写了这段代码:

    public class MyClassName {

        Context context;
        BroadcastReceiver batteryInfoReceiverLevel;

        public void CheckBatteryLevel() {

        Log.d("App", "I'm in the CheckBatteryLevel");

        context.registerReceiver(batteryInfoReceiverLevel, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

        batteryInfoReceiverLevel = new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {

            Log.d("Apps", "I'm in the onReceive");

            int level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);

            if(level <=100) {
//Do something

            }

            else if(level >=100) {
//Do something
            }

            }

            };

        }

    }
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,应用程序崩溃给出" Error receiving broadcast Intent { act=android.intent.action.BATTERY_CHANGED flg=0x60000010 (has extras) }并且崩溃线是

context.registerReceiver(batteryInfoReceiverLevel, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

java xml android broadcastreceiver android-context

5
推荐指数
1
解决办法
3769
查看次数

标签 统计

android ×2

java ×2

xml ×2

android-context ×1

broadcastreceiver ×1

dialog ×1