Java 将文本从edittext显示到textview

Java 将文本从edittext显示到textview,java,android,button,android-edittext,Java,Android,Button,Android Edittext,我有一个天气应用程序,它要求你从编辑文本字段中获取文本,并在文本视图中显示它,我正在尝试这样做,当我输入一个位置时,它将为他们生成随机天气,同时显示他们的输入 在我最近开始学习android开发时,除了在线示例之外,我没有做过很多尝试 导入androidx.appcompat.app.appcompat活动; 导入android.os.Bundle; 导入android.view.view; 导入android.widget.Button; 导入android.widget.EditText;

我有一个天气应用程序,它要求你从编辑文本字段中获取文本,并在文本视图中显示它,我正在尝试这样做,当我输入一个位置时,它将为他们生成随机天气,同时显示他们的输入

在我最近开始学习android开发时,除了在线示例之外,我没有做过很多尝试

导入androidx.appcompat.app.appcompat活动;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
导入org.w3c.dom.Text;
/**
*主要活动的执行情况
*/
公共类MainActivity扩展AppCompatActivity实现View.OnClickListener{
//用户提供位置的成员变量
私有字符串位置;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取“获取预测”按钮
按钮btnGetForecast=(按钮)findViewById(R.id.btnGetForecast);
//将单击侦听器设置为btnGetForecast按钮
btnGetForecast.setOnClickListener(此);
EditText loc=findViewById(R.id.etLocationInput);
location=loc.getText().toString();
}
@凌驾
公共void onClick(视图){
//视图是单击的视图(按钮、ExitText、TextView等)
//如果是btnGetForecast
if(view.getId()==R.id.btnGetForecast){
}
}
}


我希望应用程序显示来自用户的输入,并在文本视图中显示它。

在onCreate中的这一行:“location=loc.getText().toString()”将只获取loc中的当前文本,而在onCreate中它将是一个空字符串


您应该查看TextWatcher:。这将允许您在loc文本更改时获得回调,然后您可以执行天气生成。

好的,您只需在onClick方法中添加以下代码:

@Override
public void onClick(View view) {
    // view is the View (Button, ExitText, TextView, etc) that was clicked


    // if it was the btnGetForecast
    if (view.getId() == R.id.btnGetForecast){
        String text = loc.getText().toString();
        yourTextView.setText(text);
    }
}
不要忘记将视图变量设置为全局变量,这样您就可以在onCreate方法之外访问它们,而无需再次使用findviewbyd()


初始化你的tvLocationDisplay在你的类中设置它。
public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private TextView yourTextView;
private EditText loc;

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

    // get the Get Forecast button
    Button btnGetForecast = (Button) findViewById(R.id.btnGetForecast);

    // set the click listener to the btnGetForecast Button
    btnGetForecast.setOnClickListener(this);

    loc = findViewById(R.id.etLocationInput);
    yourTextView = findViewById(R.id.tvLocationDisplay);


    }
 ...
}