J'ai créé ma liste déroulante et elle fonctionne parfaitement, mais mon client a décidé soudainement qu'il voulait une boîte de dialogue d'alerte au lieu de la liste déroulante. Y a-t-il un moyen facile d'y parvenir? Je n'ai jamais travaillé avec des boîtes de dialogue d'alerte et c'est nouveau pour moi. Apprécierait un conseil? Qu'est-ce que j'ai besoin de changer de gonfler, etc. Lorsque l'utilisateur clique sur spinner, il ouvre une boîte de dialogue d'alerte avec la liste afin que l'utilisateur puisse sélectionner l'année et le mois et envoyer une requête réseau.Comment inclure spinner pour alerter la boîte de dialogue ou l'afficher en tant que boîte de dialogue d'alerte
public class Izvjestaji extends Fragment {
// The onCreateView method is called when Fragment should create its View object hierarchy,
// either dynamically or via XML layout inflation.
private int godinaPozicija = 0;
private int mjesecPozicija = 0;
private Spinner godina;
private Spinner mjesec;
private int offset = 0;
private ArrayList<Transactions> listTransactons;
private SwipyRefreshLayout swipyRefreshLayout;
private boolean isFirstLoad=true;
ListView list;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
// Defines the xml file for the fragment
View rootView = inflater.inflate(R.layout.izvjestaji, parent, false);
int year = Calendar.getInstance().get(Calendar.YEAR);
int month = Calendar.getInstance().get(Calendar.MONTH);
swipyRefreshLayout = (SwipyRefreshLayout) rootView.findViewById(R.id.swipyrefreshlayout);
listTransactons = new ArrayList<>();
List<Integer> list = new ArrayList<Integer>();
for (int i = 2015; i <= year; i++) {
list.add(i);
}
List<String> list2 = new ArrayList<String>();
list2.add("Januar");
list2.add("Februar");
list2.add("Mart");
list2.add("April");
list2.add("Maj");
list2.add("Juni");
list2.add("Juli");
list2.add("Avgust");
list2.add("Septembar");
list2.add("Oktobar");
list2.add("Novembar");
list2.add("Decembar");
swipyRefreshLayout.setOnRefreshListener(new SwipyRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh(SwipyRefreshLayoutDirection direction) {
if (direction == SwipyRefreshLayoutDirection.BOTTOM) {
Toast.makeText(getActivity(), "Učtivanje podataka", Toast.LENGTH_LONG).show();
offset++;
showList();
}
}
});
godina = (Spinner) rootView.findViewById(R.id.spinner);
godina.getBackground().setColorFilter(getResources().getColor(R.color.neonGreen),PorterDuff.Mode.SRC_ATOP);
ArrayAdapter<Integer> dataAdapter = new ArrayAdapter<Integer>(getActivity(), R.layout.custom_spinner, list);
dataAdapter.setDropDownViewResource(R.layout.custom_spinner_row);
godina.setAdapter(dataAdapter);
godina.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(!isFirstLoad){
listTransactons.clear();
showList();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
godina.setSelection(year - 2015);
mjesec = (Spinner) rootView.findViewById(R.id.spinner1);
mjesec.getBackground().setColorFilter(getResources().getColor(R.color.neonGreen),PorterDuff.Mode.SRC_ATOP);
ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(getActivity(), R.layout.custom_spinner, list2);
dataAdapter1.setDropDownViewResource(R.layout.custom_spinner_row);
mjesec.setAdapter(dataAdapter1);
mjesec.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(!isFirstLoad){
listTransactons.clear();
showList();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
mjesec.setSelection(month);
return rootView;
}
// This event is triggered soon after onCreateView().
// Any view setup should occur here. E.g., view lookups and attaching view listeners.
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
list = (ListView) view.findViewById(R.id.izvjestaji_list);
showList();
// Setup any handles to view objects here
// EditText etFoo = (EditText) view.findViewById(R.id.etFoo);
}
public void showList() {
NetworkSDK.getInstance().getTransactions(mjesec.getSelectedItemPosition() + 1, godina.getSelectedItemPosition() + 2015, 10, offset, new Callback<List<Transactions>>() {
@Override
public void onResponse(Call<List<Transactions>> call, Response<List<Transactions>> response) {
if (response.isSuccess()) {
isFirstLoad=false;
Log.d("Data", String.valueOf(response.isSuccess()));
for (int i = 0; i < response.body().size(); i++)
listTransactons.add(response.body().get(i));
TransactionsAdapter transactionsAdapter = new TransactionsAdapter(listTransactons);
list.setAdapter(transactionsAdapter);
transactionsAdapter.notifyDataSetChanged();
if (swipyRefreshLayout != null) swipyRefreshLayout.setRefreshing(false);
}
}
@Override
public void onFailure(Call<List<Transactions>> call, Throwable t) {
Log.d("Error", "Def error");
}
});
}
}