簡體   English   中英

Android:ArrayList 的 EditText 輸入返回 Null 到 TextView

[英]Android: EditText input to ArrayList returns Null to TextView

我正在嘗試將 EditText 值添加到 ArrayList 並顯示到 TextView,但我一直在電視中顯示“空”。 我已經嘗試了幾件事,甚至查看了其他項目中的代碼,這些代碼正在運行……我不知道出了什么問題……

package com.wizardpower.tester;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

String proContainer;
EditText etInput;
TextView tvOutput;
Button bButton;


List <String> proStrings = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    for (int i = 0; i < proStrings.size(); i++){
        proContainer = proStrings.get(i);
    }

    bButton = (Button) findViewById(R.id.bButton);
    tvOutput = (TextView) findViewById(R.id.tvOutputTxt);
    etInput = (EditText) findViewById(R.id.etInput);
    bButton.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    switch(v.getId()){
        case R.id.bButton:
            proStrings.add(etInput.getText().toString());
            tvOutput.setText(String.valueOf(proContainer));
            break;

    }
  }
}

這是 XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:id="@+id/MainActivity">

<TextView android:text="OutputText" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/tvOutputTxt"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="40dp" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/etInput"
    android:layout_below="@+id/textView"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="100dp"
    android:hint="add your text here" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Enter"
    android:id="@+id/bButton"
    android:layout_below="@+id/etInput"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="105dp" />

這是你應該做的:

StringBuilder proContainer;
List <String> proStrings = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    bButton = (Button) findViewById(R.id.bButton);
    tvOutput = (TextView) findViewById(R.id.tvOutputTxt);
    etInput = (EditText) findViewById(R.id.etInput);
proContainer=new StringBuilder();
    bButton.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    switch(v.getId()){
        case R.id.bButton:
            proStrings.add(etInput.getText().toString());
         for (int i = 0; i < proStrings.size(); i++){
           proContainer.append(proStrings.get(i));
         }
            tvOutput.setText(proContainer.toString());
            break;

    }
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM