Java 单击值时微调器不更改
我正在Android Studio中开发一个应用程序。我的一个碎片上有一个简单的旋转器。我从arraylist加载数据,如下所示Java 单击值时微调器不更改,java,android,Java,Android,我正在Android Studio中开发一个应用程序。我的一个碎片上有一个简单的旋转器。我从arraylist加载数据,如下所示 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { myView = inflater.inflate(R.layout.content_main, container, false);
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
myView = inflater.inflate(R.layout.content_main, container, false);
Spinner ddlLocation = (Spinner) myView.findViewById(R.id.ddlLocation);
//ddlLocation.setOnItemSelectedListener(this);
//Load the nameList array into the drop down list (Spinner)
LocationDBHandler locationDBHandler = new LocationDBHandler(getActivity().getApplicationContext(),null,null,1);
ArrayList<String> nameList = locationDBHandler.getAllNames();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_spinner_item, nameList);
ddlLocation.setPrompt("Select a Location");
ddlLocation.setAdapter(adapter);
adapter.notifyDataSetChanged();
return myView;
}
空指针
01-07 21:49:15.463 22000-22000/com.example.connor.connorminstafeed E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.connor.connorminstafeed, PID: 22000
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.widget.Spinner.getSelectedItem()' on a null object reference
at com.example.connor.connorminstafeed.HistoryFragment.onCreateView(HistoryFragment.java:38)
at android.app.Fragment.performCreateView(Fragment.java:2220)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)
at android.app.BackStackRecord.run(BackStackRecord.java:793)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:482)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
数组列表代码。你不认为这会是个问题,因为纺纱机的人气很好吗
public ArrayList<String> getAllNames() {
String query = "SELECT name FROM " + TABLE_LOCATION;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(query, null);
ArrayList<String> nameList = new ArrayList<String>();
if (cursor.moveToFirst()) {
while (!cursor.isAfterLast()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
nameList.add(name);
cursor.moveToNext();
}
}
return nameList;
}
微调器XML
<Spinner
android:id="@+id/ddlLocation"
android:layout_width="280dp"
android:layout_height="83dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:textColor="#475afd"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView11" />
有什么想法吗
非常感谢。将您的姓名列表设置为全局。然后在“选定项”中编写代码,如下图所示,并检查选定项是否出现。如果是,则继续
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(this,""+nameList.get(i),Toast.LENGTH_LONG).show();
}
并在xml中更改spinner.com的背景色,如下所示
android:background=6767
<Spinner
android:background="#676767"
android:id="@+id/ddlLocation"
android:layout_width="280dp"
android:layout_height="83dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:textColor="#475afd"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView11" />
你能把日志贴出来吗?对不起,我对这个很陌生。你是说Logcat窗口中的日志吗?无论如何,我会把这些加在问题上。是的。非常感谢。请在选择后立即添加NPE日志或日志。在导航到从该微调器提取信息的页面后添加NPE日志。是否可以发布适配器代码?您的适配器中似乎存在配置错误的情况。
<Spinner
android:background="#676767"
android:id="@+id/ddlLocation"
android:layout_width="280dp"
android:layout_height="83dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:textColor="#475afd"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView11" />