一周中的几天,我遇到了填充旋转器的问题.
layout xml:
<Spinner
android:id="@+id/week_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"/>
Run Code Online (Sandbox Code Playgroud)
strings.xml中
<resources>
<string-array name="days_of_week">
<item>Monday</item>
<item>Tuesday</item>
<item>Wednesday</item>
<item>Thursday</item>
<item>Friday</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
Java的:
public class AddModule extends Activity {
Spinner day;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
day = (Spinner)findViewById(R.id.week_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.days_of_week, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
day.setAdapter(adapter);
setContentView(R.layout.activity_add_module);
}
}
Run Code Online (Sandbox Code Playgroud)
这是导致应用程序崩溃的setAdapter行.我收到以下错误
11-05 21:24:31.235: W/dalvikvm(867): threadid=1: thread exiting with uncaught exception (group=0x40a9a228)
11-05 21:24:31.245: E/AndroidRuntime(867): FATAL EXCEPTION: main
11-05 21:24:31.245: E/AndroidRuntime(867): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cathal.timetable/com.cathal.timetable.AddModule}: java.lang.NullPointerException
11-05 21:24:31.245: E/AndroidRuntime(867): at …Run Code Online (Sandbox Code Playgroud) 我想将我的应用程序发送到睡眠状态,然后在设定的时间将其唤醒.我让它睡觉但不醒来.
这设置了唤醒锁:
private void setWakeLock(){
System.out.println("wakelock");
PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, "DoNotDimScreen");
wl.acquire();
}
Run Code Online (Sandbox Code Playgroud)
这会为唤醒/睡眠时间设置警报:
private void setWakeSleep(){
java.util.Calendar c = java.util.Calendar.getInstance();
c.set(java.util.Calendar.HOUR_OF_DAY, 17);
c.set(java.util.Calendar.MINUTE, 53);
c.set(java.util.Calendar.MILLISECOND, 0);
Intent sleepIntent = new Intent("SLEEP_INTENT");
PendingIntent sleepPendingIntent = PendingIntent.getBroadcast(this, 0, sleepIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), sleepPendingIntent);
c.set(java.util.Calendar.HOUR_OF_DAY, 18);
c.set(java.util.Calendar.MINUTE, 14);
c.set(java.util.Calendar.MILLISECOND, 0);
Intent wakeIntent = new Intent("WAKE_INTENT");
PendingIntent wakePendingIntent = PendingIntent.getBroadcast(this, 0, wakeIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager2 = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager2.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), wakePendingIntent); …Run Code Online (Sandbox Code Playgroud)