W
Wolverine566561
Gast
Hallo zusammen,
ich bin neu hier und ärgere mich aktuell mit einem Problem herum. Ich entwickle eine App zur Verwaltung von Dart-Matches. Ich möchte eine Activity für ein Spielsetup implementieren. Bisher habe ich die Auswahl einer Spielvariante mit eine ListView (simple_list_item_single_choice) implementiert, die einwandfrei funktioniert. Darunter soll der User mittels einer SeekBar auswählen können, wieviele Spiele (Legs) bis zum Gewinn eines Matches gespielt werden sollen. Und da scheitert es leider bei der Benutzung der SeekBar. Beim Programmstart wird die SeekBar zwar angezeigt, aber sobald ich diese benutzen will, verabschiedet sich die App mit einer NullPointerException...und ich weiß nicht, woran es liegt
Die Implementierung der Activity sieht so aus:
Der Stacktrace so:
Woran loegt das und was kann ich tun???
Vielen Dank schonmal und Grüße
ich bin neu hier und ärgere mich aktuell mit einem Problem herum. Ich entwickle eine App zur Verwaltung von Dart-Matches. Ich möchte eine Activity für ein Spielsetup implementieren. Bisher habe ich die Auswahl einer Spielvariante mit eine ListView (simple_list_item_single_choice) implementiert, die einwandfrei funktioniert. Darunter soll der User mittels einer SeekBar auswählen können, wieviele Spiele (Legs) bis zum Gewinn eines Matches gespielt werden sollen. Und da scheitert es leider bei der Benutzung der SeekBar. Beim Programmstart wird die SeekBar zwar angezeigt, aber sobald ich diese benutzen will, verabschiedet sich die App mit einer NullPointerException...und ich weiß nicht, woran es liegt

Die Implementierung der Activity sieht so aus:
Code:
package de.marcoheintze.dartsapp;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.view.*;
public class X01Activity extends Activity
{
// Game-setup-attributes
private int gametype;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_x01);
// ListView-attributes
Context context = getApplicationContext();
// Init List-items
final String[] listViewItems = new String[]
{
context.getString(R.string.button_301),
context.getString(R.string.button_501),
context.getString(R.string.button_701),
context.getString(R.string.button_901),
};
// Connect listView with the layout-item
ListView listView = (ListView) findViewById(R.id.lv_gametype);
// Integrate the adapter
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, listViewItems));
// Set choice-mode
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// Preselect 501
listView.setItemChecked(1, true);
// Set the chosen gametype
listView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(
AdapterView listView,
View selectedItem,
int itemPos,
long itemId)
{
if(itemPos == 0)
gametype = itemPos; // 301
else if(itemPos == 1)
gametype = itemPos; // 501
else if(itemPos == 2)
gametype = itemPos; // 701
else if(itemPos == 3)
gametype = itemPos; // 901
}
});
// Init SeekBar-attributes
SeekBar seekBarLegs = (SeekBar) findViewById(R.id.seekBarLegs);
final TextView legCounter = (TextView) findViewById(R.string.textview_leg_counter);
seekBarLegs.setProgress(1);
seekBarLegs.incrementProgressBy(1);
seekBarLegs.setMax(3);
seekBarLegs.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
legCounter.setText(String.valueOf(progress + " Legs"));
}
});
}
}
Der Stacktrace so:
Code:
08-27 15:34:02.990: W/dalvikvm(2348): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
08-27 15:34:03.040: E/AndroidRuntime(2348): FATAL EXCEPTION: main
08-27 15:34:03.040: E/AndroidRuntime(2348): java.lang.NullPointerException
08-27 15:34:03.040: E/AndroidRuntime(2348): at de.marcoheintze.dartsapp.X01Activity$2.onProgressChanged(X01Activity.java:94)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.widget.SeekBar.onProgressRefresh(SeekBar.java:91)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:686)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.widget.ProgressBar.refreshProgress(ProgressBar.java:698)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.widget.ProgressBar.setProgress(ProgressBar.java:745)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:451)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:379)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.View.dispatchTouchEvent(View.java:7246)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
08-27 15:34:03.040: E/AndroidRuntime(2348): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1953)
08-27 15:34:03.040: E/AndroidRuntime(2348): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1405)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.app.Activity.dispatchTouchEvent(Activity.java:2410)
08-27 15:34:03.040: E/AndroidRuntime(2348): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1901)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.View.dispatchPointerEvent(View.java:7426)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3220)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3165)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4292)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4271)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4363)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:179)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:171)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4342)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4382)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.Choreographer.doFrame(Choreographer.java:530)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.os.Handler.handleCallback(Handler.java:725)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.os.Handler.dispatchMessage(Handler.java:92)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.os.Looper.loop(Looper.java:137)
08-27 15:34:03.040: E/AndroidRuntime(2348): at android.app.ActivityThread.main(ActivityThread.java:5041)
08-27 15:34:03.040: E/AndroidRuntime(2348): at java.lang.reflect.Method.invokeNative(Native Method)
08-27 15:34:03.040: E/AndroidRuntime(2348): at java.lang.reflect.Method.invoke(Method.java:511)
08-27 15:34:03.040: E/AndroidRuntime(2348): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-27 15:34:03.040: E/AndroidRuntime(2348): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-27 15:34:03.040: E/AndroidRuntime(2348): at dalvik.system.NativeStart.main(Native Method)
08-27 15:34:06.710: D/gralloc_goldfish(2365): Emulator without GPU emulation detected.
Woran loegt das und was kann ich tun???
Vielen Dank schonmal und Grüße