0

I need to extract part of the string and display it in the spinner

I need that when the spinner display data example For array entries like the following

"Equipo-001"
"Equipo-002"

Should show only:

"001"
"002"

Here's my code

private void rellenarSpinnerConFoliosDeMaquinasDelPunto(List<String> folios) {

maquinas = dbOn.getMaquinasDePunto(idPunto);
for (int i = 0; i < maquinas.size(); i++) {
    foliosDeMaquinas.add(maquinas.get(i).getcFolioMaquina());

}

adaptadorFoliosMaquina = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, folios);
adaptadorFoliosMaquina.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spn_folioMaquina.setAdapter(adaptadorFoliosMaquina);

spn_folioMaquina.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
suku
  • 10,507
  • 16
  • 75
  • 120

3 Answers3

0
ArrayList<String> numberFolios = new ArrayList<>();
for(int j =0; j < folios.size(); j++){
  numberFolios.add(folios.get(j).substring(8, 10)); 
}
adaptadorFoliosMaquina = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, numberFolios);

Check link for better reference on how to use substring.

Community
  • 1
  • 1
suku
  • 10,507
  • 16
  • 75
  • 120
0

You can use SPLIT function

ArrayList<String> data = new ArrayList();
foreach(String get:folios){
     data.add(folios.split("-")[1]); 
}

adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, data);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
ZeroOne
  • 8,996
  • 4
  • 27
  • 45
0

If your result will be dynamic(The string length would vary in future) the below solution may work,

private void rellenarSpinnerConFoliosDeMaquinasDelPunto(List<String> folios) {
    try{
        maquinas = dbOn.getMaquinasDePunto(idPunto);
        for (int i = 0; i < maquinas.size(); i++) {
            foliosDeMaquinas.add(maquinas.get(i).getcFolioMaquina().toString().split("-")[1]);
        }
    } catch(ArrayIndexOutOfBoundsException e){
          e.printStackTrace();
    }
adaptadorFoliosMaquina = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, folios);
adaptadorFoliosMaquina.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spn_folioMaquina.setAdapter(adaptadorFoliosMaquina);

spn_folioMaquina.setOnItemSelectedListener(new  AdapterView.OnItemSelectedListener() {
Bethan
  • 971
  • 8
  • 23