我想做两个祝酒词:一个是设备正在充电,另一个是不充电的.但接收器表现得很疯狂,发送了许多祝酒词,并且崩溃了应用程序.我找不到问题.日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) 我有三个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) 我正在尝试在我的首选项活动中使用带有自定义 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)