2016-03-17 1 views
-1

Привет Я использую ArrayAdapter для отображения текста по умолчанию в spinner и Я не понимаю, ошибкане может разрешить конструктор ArrayAdapter (android.content.Context, int, java.lang.String [], java.lang.String, java.lang.String)

не может разрешить конструктор ArrayAdapter (android.content.Context, INT, java.lang.String [], java.lang.String, java.lang.String).

Может ли кто-нибудь рассказать мне об этом, пожалуйста, помогите мне. Я мало знаю о кодировании java.

public class UneCon extends Fragment { 

    private Spinner fromDetails, toDetails; 
    private EditText fromInput, toInput; 


    public static UneCon setArguments(int position) { 
     UniqueConverter uniqueConverter = new UniqueConverter(); 
     Bundle args = new Bundle(); 
     args.putInt("position", position); 
     uniqueConverter.setArguments(args); 
     return uniqueConverter; 
    } 

@Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_uniquelayout, container, false); 


     onInitVies(view); 
     int position = getArguments().getInt("position"); 

     switch (position) { 
      case 0: 
       setAdapter(getResources().getStringArray(R.array.temperatureform), "Celsius", "Fahrenheit"); 

       break; 
      case 1: 
       setAdapter(getResources().getStringArray(R.array.weightform), "Kilograms", "Grams"); 

       break; 

return view; 

    } 


    private void setAdapter(String[] spinnerItems, String fromDefaultText, String toDefaultText) { 

     fromDetails.setAdapter(new ArrayAdapter<String>(getContext(), R.layout.spinner_item, spinnerItems, fromDefaultText, toDefaultText));//here it getting error// 
    } 

    private void onInitVies(View view) { 
     fromDetails = (Spinner) view.findViewById(R.id.fromSpinner); 
     toDetails = (Spinner) view.findViewById(R.id.toSpinner); 

     fromInput = (EditText) view.findViewById(R.id.fromInput); 
     toInput = (EditText) view.findViewById(R.id.toInput); 
    } 
} 
+0

Google It. Здесь я нашел это: - http://coderzpassion.com/android-working-with-spinner/ –

+0

Вы используете недопустимый конструктор. См. Это http://developer.android.com/reference/android/widget/ArrayAdapter.html – Rohit5k2

ответ

0

Не знаете, что вы хотите делать с fromDefaultText и toDefaultText. Вам не нужно передавать это (если у вас нет конкретного использования и использования пользовательского адаптера). Сейчас

Изменить

fromDetails.setAdapter(new ArrayAdapter<String>(getContext(), R.layout.spinner_item, spinnerItems, fromDefaultText, toDefaultText)); 

в

fromDetails.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, spinnerItems)); 
+0

У меня есть два прядильника, поэтому, используя fromdefaultText и, я устанавливаю текст по умолчанию для прядильщиков – sun

+0

@sun Вам не нужно передавать эти два значения в «ArrayAdapter». Вы можете передать их методу setSpinner и предпринять какие-либо действия для них, но не переходите в 'ArrayAdapter'. Просто замените свой код моим, и он сработает. – Rohit5k2

+0

Спасибо @rohit, тогда как мы можем передать текст по умолчанию, чем? – sun

-1

изменения getContext() к getActivity()

и следующие четыре типа адаптера массива в андроиде.

ArrayAdapter(Context context, int resource) 
Constructor 
    ArrayAdapter(Context context, int resource, int textViewResourceId) 
Constructor 
    ArrayAdapter(Context context, int resource, T[] objects) 
Constructor 
    ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) 
Constructor 
    ArrayAdapter(Context context, int resource, List<T> objects) 
Constructor 
    ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects) 
Constructor 

надеюсь, что это вам поможет.

0

Вы когда-нибудь видели Doc?

Существует 6 типов конструкторов в классе ArrayAdapter. И есть 2 конструкторы, имеющие максимальный параметр 4. И вы передаете 5 параметров в данный момент ..

В 2 Конструкторы, имеющие максимальное количество параметров:

ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects) 

И

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

Мы не уверены, что вы сейчас пытаетесь сделать сейчас. Я предлагаю вам инициализировать ArrayAdapter, преобразуя вашу текущую инициализацию в один из следующих.

+0

Спасибо Это мне помогает, я не знать об этом – sun

+0

как вы изменили это? каковы ваши 'fromDefaultText' и' toDefaultText'? –

+0

Они предназначены для установки текста по умолчанию для моих прядильщиков – sun

 Смежные вопросы

  • Нет связанных вопросов^_^