【问题标题】:Adding a Item to Listview将项目添加到列表视图
【发布时间】:2020-11-11 19:42:58
【问题描述】:

我试图简单地将项目添加到 Listview 并显示它。但是,如果我添加它,它只会显示该字符串的路径,而不是字符串本身。我确定这是一个简单的错误,但我找不到它。


public class zutatenHinzufuegen extends AppCompatActivity {

    private ArrayList<String> zutatenliste;
    private ListView zutatenView;
    private ArrayAdapter<String> zutatenadapter;
    private TextInputLayout zutatInput;
    private TextInputLayout anzahlInput;
    private int anzahlint;
    private String einheitInput;
    private Button hinzufuegen_button;
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.zutaten_hinzufuegen_linear);
        getSupportActionBar().setTitle(R.string.menu_zutaten);

        // Spinner
        final Spinner einheiten_spinner = (Spinner) findViewById(R.id.spinner_einheiten2);

        ArrayAdapter<String> einheiten_adapter = new ArrayAdapter<String>(zutatenHinzufuegen.this,
            android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.einheiten));
        einheiten_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        einheiten_spinner.setAdapter(einheiten_adapter);

        // List
        zutatInput =(TextInputLayout) findViewById(R.id.textInputZutat2);
        einheitInput =(String) einheiten_spinner.getSelectedItem().toString();
        anzahlInput = (TextInputLayout) findViewById(R.id.textInputAnzahl2);
        try {
            anzahlint = Integer.parseInt(anzahlInput.toString());
        }catch (NumberFormatException nfe){}

        hinzufuegen_button = findViewById(R.id.zutat_hinzufuegen_button2);
        zutatenView =(ListView) findViewById(R.id.zutatenliste2);
        zutatenliste= new ArrayList<>();
        zutatenadapter = new ArrayAdapter<String>(this,R.layout.zutatenliste_items,R.id.textitemliste,zutatenliste);
        // zutatenadapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_item, zutatenliste);
        zutatenView.setAdapter(zutatenadapter);


        hinzufuegen_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               // hinzufuegen(v , einheiten_spinner);
                ZutatClass newzutat = new ZutatClass(zutatInput.toString(),anzahlint,einheitInput);

                zutatenliste.add((String) newzutat.zutat_sting);
                zutatenadapter.notifyDataSetChanged();
                            }
        });
    }

}

这是我按几次按钮时看到的

我是 Android Studio 和 java 的新手,所以我希望它不会太乱。 提前致谢。

【问题讨论】:

    标签: android android-studio listview


    【解决方案1】:

    首先,您需要在 TextInputLayout 中添加 Edittext,然后在您的点击方法中获取类似 ZutatClass newzutat = new ZutatClass(zutatInput.getEditText().getText().toString(),anzahlint,einheitInput); 的文本

    【讨论】:

      【解决方案2】:

      我猜问题是您试图将 TextInputLayout 转换为字符串,而不是从中获取文本并将其转换为字符串,请尝试以下代码

      hinzufuegen_button.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                     // hinzufuegen(v , einheiten_spinner);
                      ZutatClass newzutat = new ZutatClass(zutatInput.getEditText().getText().toString(),anzahlintgetEditText().g etText().toString()
      ,einheitInput);
      
                      zutatenliste.add((String) newzutat.zutat_sting);
                      zutatenadapter.notifyDataSetChanged();
                                  }
              });
      

      zutatInput.toString() --&gt; zutatInput.getEditText().getText()

      anzahlint.toString() --&gt; anzahlint.getEditText().getText().toString()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多