【问题标题】:Extract substring from a string for spinner entry从字符串中提取子字符串以用于微调器条目
【发布时间】:2017-02-18 07:36:15
【问题描述】:

我需要提取部分字符串并将其显示在微调器中

当微调器显示数据示例时我需要那个 对于像下面这样的数组条目

"Equipo-001"
"Equipo-002"

应该只显示:

"001"
"002"

这是我的代码

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() {

【问题讨论】:

  • 不清楚您在哪里遇到问题。您尝试过什么拆分字符串?
  • 嗨,spinner 我只需要显示数字
  • 好的,但同样,split 作为字符串方法存在,所以您知道自己需要什么,那么您尝试过什么?
  • 当我做 split 方法时,它标志着我这个方法在库 java.land.string 中不可用

标签: android split


【解决方案1】:
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);

查看link 以获得有关如何使用子字符串的更好参考。

【讨论】:

    【解决方案2】:

    您可以使用 SPLIT 功能

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

    【讨论】:

      【解决方案3】:

      如果您的结果是动态的(将来字符串长度会有所不同),则以下解决方案可能有效,

      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() {
      

      【讨论】:

        猜你喜欢
        • 2011-07-21
        • 1970-01-01
        • 2018-02-05
        • 2018-09-29
        • 2021-12-23
        • 1970-01-01
        • 2017-10-06
        • 2023-03-17
        相关资源
        最近更新 更多