2016-03-17 82 views
-1

嗨,我正在使用ArrayAdapter在微調器中顯示默認文本和我不明白錯誤無法解析構造函數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

谷歌它。在這裏,我發現它: - http://coderzpassion.com/android-working-with-spinner/ –

+0

您正在使用無效的構造函數。看到這個http://developer.android.com/reference/android/widget/ArrayAdapter.html – Rohit5k2

回答

0

不知道你想用fromDefaultTexttoDefaultText做什麼。你不需要通過(除非你有具體的使用和使用自定義適配器)。現在

變化

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

我有兩個spinners所以通過使用fromdefaultText和,我設置默認文本旋轉器 – sun

+0

@sun你不需要通過這些兩個值給'ArrayAdapter'。您可以將它們傳遞給'setSpinner'方法並對它們採取任何操作,但不傳入'ArrayAdapter'。只需將您的代碼替換爲我的代碼就行了。 – Rohit5k2

+0

謝謝@rohit那麼我們怎樣才能通過默認文本呢? – sun

-1

變化getContext()getActivity()

和下面是在機器人4分型陣列適配器的。

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

ArrayAdapter類中有6種類型的構造函數。 並有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

相關問題