Created
November 23, 2018 13:50
-
-
Save MamdouhAlShamy/81b39067a300e2dd1a648e0b01fe35d5 to your computer and use it in GitHub Desktop.
Not Working Spinner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.innozones.mms.liveartists.MyServices; | |
import android.os.Bundle; | |
import android.support.annotation.NonNull; | |
import android.support.annotation.Nullable; | |
import android.support.design.widget.TextInputLayout; | |
import android.support.v4.app.DialogFragment; | |
import android.util.Log; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.AdapterView; | |
import android.widget.ArrayAdapter; | |
import android.widget.Button; | |
import android.widget.Spinner; | |
import android.widget.AdapterView.OnItemSelectedListener; | |
import com.innozones.mms.liveartists.R; | |
import com.innozones.mms.liveartists.data.model.serviceTypes.ServiceType; | |
import com.innozones.mms.liveartists.data.model.serviceTypes.ServiceTypesResponse; | |
import com.innozones.mms.liveartists.util.UrlBuilder; | |
import com.koushikdutta.async.future.FutureCallback; | |
import com.koushikdutta.ion.Ion; | |
import java.util.ArrayList; | |
import java.util.List; | |
import butterknife.BindView; | |
import butterknife.ButterKnife; | |
import butterknife.OnClick; | |
import butterknife.Unbinder; | |
public class AddServiceDialogFragment extends DialogFragment implements OnItemSelectedListener { | |
private final String TAG = this.getClass().getSimpleName(); | |
@BindView(R.id.add_service_name_edit_text) | |
TextInputLayout addServiceNameEditText; | |
@BindView(R.id.add_service_type_spinner) | |
Spinner addServiceTypeSpinner; | |
@BindView(R.id.add_service_price_edti_text) | |
TextInputLayout addServicePriceEdtiText; | |
@BindView(R.id.add_service_button) | |
Button addServiceButton; | |
Unbinder unbinder; | |
List<String> spinnerArray = new ArrayList<>(); | |
@Override | |
public void onCreate(@Nullable Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
} | |
@Nullable | |
@Override | |
public View onCreateView(@NonNull LayoutInflater inflater, | |
@Nullable ViewGroup container, | |
@Nullable Bundle savedInstanceState) { | |
View v = inflater.inflate(R.layout.fragment_add_service_dialog, container, false); | |
unbinder = ButterKnife.bind(this, v); | |
fillSpinnerWithServiceTypes(); | |
addServiceTypeSpinner.setOnItemSelectedListener(this); | |
return v; | |
} | |
@Override | |
public void onItemSelected(AdapterView<?> parent, View view, int i, long l) { | |
Log.d(TAG, "onItemSelected: " + parent.getItemAtPosition(i).toString()); | |
addServiceTypeSpinner.setSelection(i); | |
} | |
@Override | |
public void onNothingSelected(AdapterView<?> adapterView) { | |
Log.d(TAG, "onNothingSelected: NothingSelected"); | |
} | |
private void fillSpinnerWithServiceTypes() { | |
spinnerArray = getServiceTypes(); | |
ArrayAdapter<String> adapter = | |
new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, spinnerArray); | |
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); | |
addServiceTypeSpinner.setAdapter(adapter); | |
} | |
@NonNull | |
private List<String> getServiceTypes() { | |
final List<String> spinnerArrayX = new ArrayList<>(); | |
Log.d(TAG, "Request to get Service Types"); | |
Ion.with(getActivity()) | |
.load(UrlBuilder.getServiceTypesUrl()) | |
.as(ServiceTypesResponse.class) | |
.setCallback(new FutureCallback<ServiceTypesResponse>() { | |
@Override | |
public void onCompleted(Exception e, ServiceTypesResponse result) { | |
for(ServiceType serviceType: result.getServiceType()) | |
spinnerArrayX.add(serviceType.getTitle()); | |
} | |
}); | |
return spinnerArrayX; | |
} | |
@Override | |
public void onDestroyView() { | |
super.onDestroyView(); | |
unbinder.unbind(); | |
} | |
@OnClick(R.id.add_service_button) | |
public void onViewClicked() { | |
// TODO network call | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment