“ArrayAdapter有时需要资源ID为TextView”

时间:2016-09-01 19:15:13

标签: java android android-arrayadapter

我正在使用crashlityc并且正在寻找这个错误几个小时。它有效,但有些用户我有这个错误:

  

android.widget.ArrayAdapter.createViewFromResource   (ArrayAdapter.java:394)android.widget.ArrayAdapter.getView   (ArrayAdapter.java:362)com.android.internal.os.ZygoteInit.main   android.widget.AbsSpinner.onMeasure(AbsSpinner.java:197)   android.widget.Spinner.onMeasure(Spinner.java:541)   android.support.v7.widget.AppCompatSpinner.onMeasure(AppCompatSpinner.java:418)   android.view.View.measure(View.java:17951)   (ZygoteInit.java:1200)

在我的课上我有这个:

private void setPhoneNumbers() {
 ... code .......
  ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getActivity(), R.layout.spinner_text, numbers);
  spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  mPhoneNumbersSpinner.setAdapter(spinnerAdapter);
}`

在我的.xml中:

  <?xml version="1.0" encoding="utf-8"?>

    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_marginRight="5dp"
      android:ellipsize="end"
      android:maxLines="1"
      android:textColor="@color/menu_header_txt"
      android:textSize="13sp"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@android:id/text1" />`

1 个答案:

答案 0 :(得分:0)

我想你需要使用下面提到的ArrayAdapter构造函数here

ArrayAdapter (Context context, 
                int resource, 
                int textViewResourceId, 
                T[] objects)

在你的情况下:

ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getActivity(), R.layout.spinner_text, R.id.text1, numbers);