-1

I don't know what error I did. But it shows me can not resolve constructor Arrayadapter on my array adapter code.Help me to fix it out.( I have used getActivity() because I have written this code on my fragment section) and it gets crashes after it.I have tried almost all issue fixing methods in stack overflow .(Before down voting suggest me some solutions )

spinner = (Spinner) view.findViewById(R.id.spinner3);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,getActivity(),android.R.layout.simple_spinner_item,def);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);

here is my error log

MilkaMozhi
  • 83
  • 2
  • 10

2 Answers2

0

your are passing to Context to your adapter so just pass one context

if your spinner in fragment than just change your adapter like this

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item,def);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
AskNilesh
  • 67,701
  • 16
  • 123
  • 163
  • this answer will be invalid if he is using fragment – akshay_shahane Sep 11 '17 at 05:09
  • @nilesh wait bro i ll try – MilkaMozhi Sep 11 '17 at 05:14
  • My app crashes bro after using it – MilkaMozhi Sep 11 '17 at 05:16
  • share your crash log @MilkaMozhi – AskNilesh Sep 11 '17 at 05:17
  • 09-11 11:11:53.220: W/ErrorProcessor(2463): onFatalError, processing error from engine(4) 09-11 11:11:53.220: W/ErrorProcessor(2463): com.google.android.apps.gsa.shared.speech.a.g: Error reading from input stream 09-11 11:11:53.220: W/ErrorProcessor(2463): at com.google.android.apps.gsa.staticplugins.recognizer.i.a.a(SourceFile:342) – MilkaMozhi Sep 11 '17 at 05:43
  • **clean-rebuild-run** your project – AskNilesh Sep 11 '17 at 05:44
  • 09-11 11:11:53.220: W/ErrorProcessor(2463): at com.google.android.apps.gsa.staticplugins.recognizer.i.a$1.run(SourceFile:1367) 09-11 11:11:53.220: W/ErrorProcessor(2463): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 09-11 11:11:53.220: W/ErrorProcessor(2463): at java.util.concurrent.FutureTask.run(FutureTask.java:237) 09-11 11:11:53.220: W/ErrorProcessor(2463): at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) – MilkaMozhi Sep 11 '17 at 05:44
  • @MilkaMozhi share your whole crash log with question edit in your question – AskNilesh Sep 11 '17 at 05:45
0

Try this, if you use a fragment:

1. This code is designed to fetch a static array

    ArrayAdapter myAdapter = ArrayAdapter.createFromResource(
            getActivity(), R.array.my_array, android.R.layout.simple_spinner_item);

    myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    mySpinner.setAdapter(myAdapter);

2. If you are fetching a dynamic array, then the below sample code would work.

In this sample, I've fetched the list from db. You can change upon your requirement.

    Spinner maritalSpinner = (Spinner) view.findViewById(R.id.marital_spinner);
    List<MaritalStatus> maritalStatusList = new ArrayList<>();
    List<String> maritalStatusArray = new ArrayList<>();
    maritalStatusList = dbConnection.getMaritalStatus(maritalStatusDao);
    maritalStatusArray.clear();
    maritalIdArray.clear();
    maritalStatusArray.add("~Select~");
    maritalIdArray.add(0l); // this is number '0' and alphabet 'l'(small 'L') not number '1'
    for (MaritalStatus marital : maritalStatusList) {
        String maritalStatus = marital.getMaritalStat();
        long maritalId = marital.getMaritalId();
        maritalStatusArray.add(maritalStatus);
        maritalIdArray.add(maritalId);
    }
    maritalAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_item, maritalStatusArray);
    maritalAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    maritalAdapter.notifyDataSetChanged();
    maritalSpinner.setAdapter(maritalAdapter);
vss
  • 1,093
  • 1
  • 20
  • 33