如何通过按钮onclick从EditText获取值并在TextView中显示它

时间:2017-01-31 09:29:05

标签: android

如何从EditText获取数据并在TextView中显示该值?

首先,我希望默认隐藏TextView所以我做了这个

Button getTxt = (Button) findViewById(R.id.inputtext);
final TextView fieldText = (TextView) findViewById(R.id.filedText);
getTxt.setVisibility(View.INVISIBLE);

getTxt.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {
        fieldText.getText().toString();
        getTxt.setVisibility(View.VISIBLE);
    }
});

当我点击按钮时,我想显示EditText

中的文字

为什么我的代码不起作用?

5 个答案:

答案 0 :(得分:0)

首先,您隐藏的是按钮而不是文本视图。 你应该这样做:fieldText.setVisibility(View.INVISIBLE)

 getTxt.setOnClickListener(
        new View.OnClickListener()
        {
            public void onClick(View view)
            {
               String text = fieldText.getText().toString();
               fieldText.setVisibility(View.VISIBLE);
               fieldText.setText(text);

            }
        });

此代码fieldText.setText(text);可以做到这一点。

答案 1 :(得分:0)

它无法正常工作的原因是:您没有将文字设置为TextView。这应该解决它:

 Button getTxt = (Button) findViewById(R.id.inputtext);
 final TextView fieldText = (TextView) findViewById(R.id.filedText);
 getTxt.setVisibility(View.INVISIBLE);

 getTxt.setOnClickListener(new View.OnClickListener() {

     public void onClick(View view) {

         getTxt.setVisibility(View.VISIBLE);
         getTxt.setText(fieldText.getText().toString());
     }
 });

答案 2 :(得分:0)

首先声明您的EditText

 EditText editText = (EditText) findViewById(R.id.editText); // put id of editText here
 Button getTxt = (Button) findViewById(R.id.inputtext);
 final TextView fieldText = (TextView) findViewById(R.id.filedText);
 editText.setVisibility(View.INVISIBLE);

 getTxt.setOnClickListener(
            new View.OnClickListener()
            {
                public void onClick(View view)
                {
                   String text = editText.getText().toString();
                   fieldText.setText(text);
                   editText.setVisibility(View.VISIBLE);

                }
            });

答案 3 :(得分:-1)

Button getTxt = (Button) findViewById(R.id.inputtext);
final TextView fieldText = (TextView) findViewById(R.id.filedText);

getTxt.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {

        fieldText.setText(getTxt.getText().toString());   

    }
});

这样做......

答案 4 :(得分:-1)

试试这个:

Java文件:

public class MainActivity extends AppCompatActivity {
    EditText editText;
    Button button;
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText=(EditText)findViewById(R.id.editText);
        button=(Button)findViewById(R.id.button);
        textView=(TextView) findViewById(R.id.textView);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setVisibility(View.VISIBLE);
                textView.setText(editText.getText().toString());
            }
        });

    }
}

xml文件:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    android:visibility="gone"
    android:id="@+id/textView"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

<Button
    android:text="Click here"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="62dp"
    android:id="@+id/button"
    android:layout_marginTop="50dp"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:text="some text"
    android:ems="10"
    android:layout_alignParentTop="true"
    android:id="@+id/editText"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />