小编Gid*_*zin的帖子

广播接收器 - 监控电池电量和充电状态

我想做两个祝酒词:一个是设备正在充电,另一个是不充电的.但接收器表现得很疯狂,发送了许多祝酒词,并且崩溃了应用程序.我找不到问题.日Thnx!这是主要活动中的接收者:

public class PowerConnectionReceiver extends BroadcastReceiver {

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

        int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);

        boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                status == BatteryManager.BATTERY_STATUS_FULL;
        if (isCharging){
            Toast.makeText(context, "The device is charging", Toast.LENGTH_SHORT).show();
        }else{
            Toast.makeText(context, "The device is not charging", Toast.LENGTH_SHORT).show();

        }

    }
}
Run Code Online (Sandbox Code Playgroud)

这是显而易见的:

<receiver android:name=".view.MainActivity$PowerConnectionReceiver">
        <intent-filter>
            <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
            <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver

4
推荐指数
1
解决办法
9930
查看次数

在Java中同时对三个ArrayLists进行排序的最有效方法是什么?

我有三个ArrayLists.其中一个Strings- 名字和两个Integers- 得分和图片编号.我想通过球员得分(从最高到最低)同时对它们进行排序.现在我使用一个简单的冒泡排序,但我认为当Lists它更大时它将不会有效.

这是我的代码:

public class MyBubbleSort {

    public static void bubble_srt(List<Integer> score, List<String> name, List<Integer> pic) {
        int n = score.size();
        int k;
        for (int m = n; m >= 0; m--) {
            for (int i = 0; i < n - 1; i++) {
                k = i + 1;
                if (score.get(i) < score.get(k)) {
                    swapNumbers(i, k, score, name, pic);
                }
            }
            printNumbers(score);
        }
    }

    private static void swapNumbers(int i, int …
Run Code Online (Sandbox Code Playgroud)

java sorting android arraylist

3
推荐指数
1
解决办法
276
查看次数

首选项活动中的快捷栏

我正在尝试在我的首选项活动中使用带有自定义 xml 的小吃栏。我做错了什么,因为我得到了一个空指针异常。我认为这与视图有关,或者可能是因为我不使用协调器布局。这是我的Java代码:

@Override
public boolean onPreferenceChange(Preference preference, final Object newValue) {
    String key = preference.getKey();
    if (key.equals("distance")) {
        preference.setSummary((String) newValue);
        Snackbar snackbar = Snackbar
                .make(findViewById(R.id.snackbarPosition), "You choose " + newValue, Snackbar.LENGTH_LONG)
                .setAction("UNDO", new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        if (newValue.equals("km")){
                            SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(MyPrefs.this);
                            SharedPreferences.Editor editor = sp.edit();
                            editor.putString("distance", "miles");
                            editor.commit();
                        }else if (newValue.equals("miles")){
                            SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(MyPrefs.this);
                            SharedPreferences.Editor editor = sp.edit();
                            editor.putString("distance", "km");
                            editor.commit();

                        }
                    }
                });

        snackbar.show();
Run Code Online (Sandbox Code Playgroud)

小吃栏 XML:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<View
    android:id="@+id/sb__divider" …
Run Code Online (Sandbox Code Playgroud)

android preferences snackbar android-snackbar

0
推荐指数
1
解决办法
1471
查看次数