1

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"); 

     } 
    }); 
} 


} 

Répondre