如何解决加载微调器项的问题? [英] How to solve a problem with loading spinner items?
本文介绍了如何解决加载微调器项的问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<pre>01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: Process: com.dusandimitrijevic.dontforget, PID: 19285<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:392)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.widget.ArrayAdapter.getDropDownView(ArrayAdapter.java:415)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner$DropDownAdapter.getDropDownView(AppCompatSpinner.java:621)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner$DropDownAdapter.getView(AppCompatSpinner.java:617)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner.compatMeasureContentWidth(AppCompatSpinner.java:544)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner.access$500(AppCompatSpinner.java:62)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner$DropdownPopup.computeContentWidth(AppCompatSpinner.java:735)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner$DropdownPopup.show(AppCompatSpinner.java:760)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner$1.onForwardingStarted(AppCompatSpinner.java:260)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.ListPopupWindow$ForwardingListener.onLongPress(ListPopupWindow.java:1430)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.ListPopupWindow$ForwardingListener.access$1000(ListPopupWindow.java:1248)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.ListPopupWindow$ForwardingListener$TriggerLongPress.run(ListPopupWindow.java:1521)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:145)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5951)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)<br />
01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)</pre>
这是一个错误,我得到了,我真的不知道我在哪里犯了一个错误。这是我的代码,我将Spinner和自定义适配器设置为微调器..当我点击微调项目时,我收到一个错误。我正在活动中获得微调项目,但是当我想看到带有微调项目的下拉菜单时,我从上面得到错误。
This is an error i'm getting and i really do not know where i'm making a mistake. Here is my code where i'm setting Spinner and custom adapter to spinner .. I'm getting an error when i click on spinner item. I'm getting spinner item in activity, but when i want to see drop down menu with spinner items, i'm getting the error from above.
<pre>public class EventActivity extends AppCompatActivity implements
View.OnClickListener, AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener {
// VARIABLES
private AlertDialog.Builder builder;
private DataBaseHelper db;
private EventListAdapter adapter;
private Date mDate;
private EditText inputName;
private ListView list;
private TextView txtDate;
private SimpleDateFormat formatter = new SimpleDateFormat("MMMM dd", Locale.ENGLISH);
private DatePickerDialog datePickerDialog;
private Calendar dateCalendar;
private List<String> categories;
private Spinner spinnerCategories;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_event);
builder = new AlertDialog.Builder(this);
LayoutInflater inflater = (LayoutInflater) EventActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.custom_dialog_header, null);
builder.setCustomTitle(view);
initViews();
setAdapter(mDate);
setDatePickerDialog();
setSpinner();
String selectedItem = spinnerCategories.getSelectedItem().toString();
}
private void setSpinner() {
spinnerCategories = (Spinner) findViewById(R.id.categories);
// SPINNER DROP DOWN ELEMENTS
categories = new ArrayList<>();
categories.add("Birthday");
categories.add("Anniversary");
categories.add("18th Birthday");
categories.add("1th Birthday");
// CREATING ADAPTER FOR SPINNER
ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(EventActivity.this, R.layout.simple_spinner_item, R.id.list_item, categories);
dataAdapter.setDropDownViewResource(R.layout.simpler_spinner_dropdown_item);
spinnerCategories.setAdapter(dataAdapter);
}
// other code
这里有一些XML文件:
simple_spinner_item.xml
HERE ARE SOME XML FILES:
simple_spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_item"
style="@style/spinnerItemStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:singleLine="true" />
</LinearLayout>
simple_spinner_dropdown_item.xml
simple_spinner_dropdown_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="?attr/dropdownListPreferredItemHeight"
android:ellipsize="marquee"
android:singleLine="true" />
</LinearLayout>
推荐答案
DropDownAdapter。 getDropDownView(AppCompatSpinner.java:621)< br />
01-21 02:45:46.013 19285-19285 /? E / AndroidRuntime:在android.support.v7.widget.AppCompatSpinner
DropDownAdapter.getDropDownView(AppCompatSpinner.java:621)<br /> 01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner
DropDownAdapter.getView(AppCompatSpinner.java:617)< br />
01-21 02:45 :46.013 19285-19285 /? E / AndroidRuntime:在android.support.v7.widget.AppCompatSpinner.compatMeasureContentWidth(AppCompatSpinner.java:544)< br />
01-21 02:45:46.013 19285-19285 /? E / AndroidRuntime:在android.support.v7.widget.AppCompatSpinner.access
DropDownAdapter.getView(AppCompatSpinner.java:617)<br /> 01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner.compatMeasureContentWidth(AppCompatSpinner.java:544)<br /> 01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner.access
500(AppCompatSpinner.java:62)< br />
01-21 02:45 :46.013 19285-19285 /? E / AndroidRuntime:在android.support.v7.widget.AppCompatSpinner
500(AppCompatSpinner.java:62)<br /> 01-21 02:45:46.013 19285-19285/? E/AndroidRuntime: at android.support.v7.widget.AppCompatSpinner
这篇关于如何解决加载微调器项的问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文