spinner 报空指针
package com.example.a10653.wymap;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import com.amap.api.maps.AMap;
import com.amap.api.maps.MapView;
import com.amap.api.maps.model.MyLocationStyle;
public class MainActivity extends AppCompatActivity {
private MapView mapView;
private AMap aMap;
private Spinner spinner;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = findViewById(R.id.map);
spinner = findViewById(R.id.map_type_spinner);
mapView.onCreate(savedInstanceState);
init();
initSpinner();
}
private void init() {
if (aMap == null){
aMap = mapView.getMap();
}
aMap.showIndoorMap(true);
setUpMap();
}
private void setUpMap(){
aMap.getUiSettings().setMyLocationButtonEnabled(true);
aMap.setMyLocationEnabled(true);
setupLocationStyle();
}
private void setupLocationStyle(){
MyLocationStyle myLocationStyle = new MyLocationStyle();
myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATE);
aMap.setMyLocationStyle(myLocationStyle);
aMap.setMyLocationEnabled(true);
}
private void initSpinner(){
String[] mapTypes = getResources().getStringArray(R.array.map_type);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this,R.layout.map_type_spinner,mapTypes);
spinner.setAdapter(arrayAdapter);
spinner.setSelected(false);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position == 2){
aMap.setMapType(AMap.MAP_TYPE_BUS);
}
if (position == 3){
aMap.setMapType(AMap.MAP_TYPE_NAVI);
}
if (position == 4){
aMap.setMapType(AMap.MAP_TYPE_NIGHT);
}
if (position == 5){
aMap.setMapType(AMap.MAP_TYPE_NORMAL);
}
if (position == 6){
aMap.setMapType(AMap.MAP_TYPE_SATELLITE);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import com.amap.api.maps.AMap;
import com.amap.api.maps.MapView;
import com.amap.api.maps.model.MyLocationStyle;
public class MainActivity extends AppCompatActivity {
private MapView mapView;
private AMap aMap;
private Spinner spinner;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = findViewById(R.id.map);
spinner = findViewById(R.id.map_type_spinner);
mapView.onCreate(savedInstanceState);
init();
initSpinner();
}
private void init() {
if (aMap == null){
aMap = mapView.getMap();
}
aMap.showIndoorMap(true);
setUpMap();
}
private void setUpMap(){
aMap.getUiSettings().setMyLocationButtonEnabled(true);
aMap.setMyLocationEnabled(true);
setupLocationStyle();
}
private void setupLocationStyle(){
MyLocationStyle myLocationStyle = new MyLocationStyle();
myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATE);
aMap.setMyLocationStyle(myLocationStyle);
aMap.setMyLocationEnabled(true);
}
private void initSpinner(){
String[] mapTypes = getResources().getStringArray(R.array.map_type);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this,R.layout.map_type_spinner,mapTypes);
spinner.setAdapter(arrayAdapter);
spinner.setSelected(false);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position == 2){
aMap.setMapType(AMap.MAP_TYPE_BUS);
}
if (position == 3){
aMap.setMapType(AMap.MAP_TYPE_NAVI);
}
if (position == 4){
aMap.setMapType(AMap.MAP_TYPE_NIGHT);
}
if (position == 5){
aMap.setMapType(AMap.MAP_TYPE_NORMAL);
}
if (position == 6){
aMap.setMapType(AMap.MAP_TYPE_SATELLITE);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
...全文
相关推荐
自定义spinner
首先,我们要了解Spinner的基本使用。创建Spinner通常涉及以下步骤:1.
ListView中Spinner的使用
本篇文章将深入探讨如何在ListView中集成和使用Spinner,以及解决与之相关的事件处理和状态保持问题。首先,Spinner的基本用法包括创建Spinner对象、设置Adapter和定义监听器。
Android Spinner设置默认标题
设置Spinner默认标题的步骤如下:1. **创建Spinner**:在布局文件(如activity_main.xml)中添加Spinner元素,可以设置其ID以便后续代码中引用。
android spinner 三级联动
在实现三级联动时,我们需要创建三个Spinner,分别对应省、市、区三级。每个Spinner的选择都会影响下一个Spinner的数据源。
android Spinner value值与text值
**Spinner的基本使用** - 创建Spinner:首先,在布局文件中添加Spinner元素,设置其id和样式。


