У меня есть MapActivity с просмотром карты.Работает нормально.Теперь я хочу добавить SeekBar на мой MapView.Это должно быть внизу, но на карте.Пользователь будет прокручивать, чтобы установить расстояние.Без разницы.Моя проблема в том, что любое представление, которое я пытаюсь выставить, имеет значение null, когда я достигаю их с помощью findViewById ().
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="mykey"/>
<SeekBar
android:id="@+id/DistanceBar"
android:max="2000"
android:progress="2000"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="14dip"></SeekBar>
</RelativeLayout>
Я пытаюсь достичь этого следующим образом:
public class MyActivity extends MapActivity implements LocationListener {
...
SeekBar DistanceBar;
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.mapview);
DistanceBar = (SeekBar) findViewById(R.id.DistanceBar); //This is afterwards null.
Я провел исследование везде и не смог найти подобную проблему.Кто-то использовал что-то очень похожее.Поэтому я проигнорировал, что это нуль, я не вызывал SeekBar в onCreate ().Но SeekBar не был нарисован вообще.Не могу ли я добавить другие виды в картографическую активность?
Спасибо за любую идею!
ВАЖНОЕ РЕДАКТИРОВАНИЕ: Средство просмотра графического макета показывает SeekBar, как и должно быть внизу карты.
Я все еще получаю исключение NullPointerException: ОШИБКА / AndroidRuntime (12738): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной
ОШИБКА / AndroidRuntime (12738): java.lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.MyApps.MapLocations/com.MyApps.MapLocations.MyActivity}: java.lang.NullPointerException
ОШИБКА / AndroidRuntime (12738): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2663)
ОШИБКА/ AndroidRuntime (12738): на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2679)
ОШИБКА / AndroidRuntime (12738): на android.app.ActivityThread.access $ 2300 (ActivityThread.java:125)
ОШИБКА / AndroidRuntime (12738): на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2033)
ОШИБКА / AndroidRuntime (12738): на android.os.Handler.dispatchMessage (Handler.java:99)
ОШИБКА / AndroidRuntime (12738): в android.os.Looper.loop (Looper.java:123)
ОШИБКА / AndroidRuntime (12738)): в android.app.ActivityThread.main (ActivityThread.java:4627)
ОШИБКА / AndroidRuntime (12738): в java.lang.reflect.Method.invokeNative (собственный метод)
ОШИБКА / AndroidRuntime (12738): в java.lang.reflect.Method.invoke (Method.java:521)
ОШИБКА / AndroidRuntime (12738): в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.выполнить (ZygoteInit.java:871)
ОШИБКА / AndroidRuntime (12738): в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:629)
ОШИБКА / AndroidRuntime (12738): at dalvik.system.NativeStart.main (собственный метод)
ERROR / AndroidRuntime (12738): вызвано: java.lang.NullPointerException
ERROR / AndroidRuntime (12738): вcom.MyApps.MapLocations.MyActivity.setupSeekbar (MyActivity.java:343)
ОШИБКА / AndroidRuntime (12738): на com.MyApps.MapLocations.MyActivity.onCreate (MyActivity.java:89)
ОШИБКА / AndroidRuntime (12738): в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047)
ОШИБКА / AndroidRuntime (12738)): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2627)
ERROR / AndroidRuntime (12738): ... еще 11
Вот результат из HierarchyViewer: