Skip to content

Instantly share code, notes, and snippets.

Created November 4, 2013 00:17
Show Gist options
  • Save anonymous/7296335 to your computer and use it in GitHub Desktop.
Save anonymous/7296335 to your computer and use it in GitHub Desktop.
package pl.edu.zut.mad.appwizut;
import android.app.Fragment;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
//import android.R;
import java.util.ArrayList;
/**
* Created by Marcin on 30.10.13.
*/
public class OpcjeFragment extends android.support.v4.app.Fragment implements AdapterView.OnItemSelectedListener{
Spinner listaStopien;
Spinner listaTyp;
Spinner listaKierunek;
Spinner listaGrupa;
Spinner listaRok;
TypedArray rokStudiowWartosci;
TypedArray kierunekStudiowWartosci;
TypedArray typStudiowWartosci;
TypedArray stopnieStudiowWartosci;
String stopien="";
String typ="";
String kierunek="";
String rok="";
String regex="";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.opcje_fragment, container, false);
rokStudiowWartosci = getResources().obtainTypedArray(R.array.rokStudiowWartosci);
kierunekStudiowWartosci = getResources().obtainTypedArray(R.array.kierunekStudiowWartosci);
typStudiowWartosci = getResources().obtainTypedArray(R.array.typStudiowWartosci);
stopnieStudiowWartosci = getResources().obtainTypedArray(R.array.stopnieStudiowWartosci);
listaGrupa = (Spinner) view.findViewById(R.id.listaGrup);
listaTyp = (Spinner) view.findViewById(R.id.listaTyp);
listaKierunek = (Spinner) view.findViewById(R.id.listaKierunek);
listaStopien = (Spinner) view.findViewById(R.id.listaStopien);
listaRok = (Spinner) view.findViewById(R.id.listaRok);
listaGrupa.setOnItemSelectedListener(this);
listaTyp.setOnItemSelectedListener(this);
listaKierunek.setOnItemSelectedListener(this);
listaStopien.setOnItemSelectedListener(this);
listaRok.setOnItemSelectedListener(this);
//TODO: ustawienie wczesniej wybranych wartosci jesli sa jakies wybrane
return view;
}
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Spinner spinner = (Spinner) adapterView;
if(spinner.getId()==R.id.listaStopien)
{
stopien=stopnieStudiowWartosci.getString(i);
//Toast.makeText(getActivity().getApplicationContext(),"stopien: "+stopien,Toast.LENGTH_SHORT).show();
}
else if(spinner.getId()==R.id.listaKierunek)
{
kierunek=kierunekStudiowWartosci.getString(i);
//Toast.makeText(getActivity().getApplicationContext(),"kierunek: "+kierunek,Toast.LENGTH_SHORT).show();
}
else if(spinner.getId()==R.id.listaTyp)
{
typ=typStudiowWartosci.getString(i);
//Toast.makeText(getActivity().getApplicationContext(),"typ: "+typ,Toast.LENGTH_SHORT).show();
}
else if(spinner.getId()==R.id.listaRok)
{
rok=rokStudiowWartosci.getString(i);
//Toast.makeText(getActivity().getApplicationContext(),"rok: "+rok,Toast.LENGTH_SHORT).show();
}
//+dodanie do preferencji
//Toast.makeText(getActivity().getApplicationContext(),"rok: "+rok+typ+stopien+kierunek,Toast.LENGTH_SHORT).show();
if(kierunek!="" && stopien!="" && typ!="" && rok!="")
filtrujGrupy();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
public void filtrujGrupy()
{
//nie ma konstruktora bez domyslnych wartosci: <
//R.layout
//public static final int simple_list_item_1
//Constant Value: 17367043 (0x01090003)
ArrayAdapter<String> dozwolone= new ArrayAdapter<String>(getActivity().getApplicationContext(),17367043);
ArrayList<String> stacjonarne=new ArrayList<String>();
ArrayList<String> niestacjonarne=new ArrayList<String>();
stacjonarne.add("I1-22.pdf");
stacjonarne.add("I1-11.pdf");
stacjonarne.add("I1-33.pdf");
niestacjonarne.add("I1-22.pdfn");
niestacjonarne.add("I1-11.pdfn");
niestacjonarne.add("I1-33.pdfn");
regex="^"+kierunek+stopien+"-"+rok;
Toast.makeText(getActivity().getApplicationContext(),typ+regex,Toast.LENGTH_SHORT).show();
if(typ=="Stacjonarne")
{
for (String grupa : stacjonarne)
{
if(grupa.matches(regex))
dozwolone.add(grupa);
}
}
else
{
for (String grupa : niestacjonarne)
{
if(grupa.matches(regex))
dozwolone.add(grupa);
}
}
dozwolone.add("podglad");
dozwolone.notifyDataSetChanged();
listaGrupa.setAdapter(dozwolone);
listaGrupa.refreshDrawableState();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment