查找视图比ID不起作用。使用 gettext 并打印结果时。它没有打印任何东西



一切都井然有序。但当我使用gettext并打印结果时,它并没有打印任何内容。请帮忙。我认为它没有检测到edittext字段。我是不是错过了什么。以下是代码

activity_login.java

public class Activity_Login extends AppCompatActivity {
EditText userEmail,userPassword;
static String email;
String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);

userEmail = (EditText) findViewById(R.id.et_Login_email);
userPassword = (EditText) findViewById(R.id.et_Login_password);
Button login = (Button) findViewById(R.id.btn_Login_login);
Button register = (Button) findViewById(R.id.btn_Login_signUp);
email = userEmail.getText().toString();
password = userPassword.getText().toString();
System.out.println("-*-*-*-Activity_login-*-*-*");
System.out.println(email);
System.out.println(password);
System.out.println("-*-*-*-Activity_login-*-*-*");

activity_login.xml

<EditText
android:id="@+id/et_Login_email"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textEmailAddress"
android:hint="Email"
android:textSize="15sp"
tools:layout_constraintRight_creator="1"
tools:layout_constraintBottom_creator="1"
app:layout_constraintBottom_toTopOf="@+id/et_Login_password"
android:layout_marginStart="57dp"
android:layout_marginEnd="57dp"
app:layout_constraintRight_toRightOf="parent"
tools:layout_constraintLeft_creator="1"
android:layout_marginBottom="14dp"
app:layout_constraintLeft_toLeftOf="parent" />
<EditText
android:id="@+id/et_Login_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:textSize="15sp"
android:hint="Password"
tools:layout_constraintRight_creator="1"
tools:layout_constraintBottom_creator="1"
app:layout_constraintBottom_toTopOf="@+id/btn_Login_login"
app:layout_constraintRight_toRightOf="@+id/et_Login_email"
tools:layout_constraintLeft_creator="1"
android:layout_marginBottom="7dp"
app:layout_constraintLeft_toLeftOf="@+id/et_Login_email"
app:layout_constraintHorizontal_bias="0.0" />

您正在onCreate方法中获取EditText所包含的文本。这是活动初始化和创建的时刻,此时EditText不可能包含任何文本,除非您在布局中对其进行核心处理。相反,您可以创建一个按钮,例如(在您的情况下,我假设是登录),它将执行您的逻辑。

下面是一个例子。

xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ginsbma.runningapps.MainActivity">

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/edit"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="press me"
android:layout_below="@id/edit"/>
</RelativeLayout>

代码内

final EditText edit = (EditText) findViewById(R.id.edit);
Button button = (Button) findViewById(R.id.button);
System.out.println(edit.getText().toString().trim());
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, edit.getText().toString(), Toast.LENGTH_SHORT).show();
System.out.println(edit.getText().toString().trim());
}
});

它一开始什么都不会打印出来。如果你在编辑文本中键入任何内容,然后按下按钮,它会打印出你写的内容,并在屏幕上吐司。

快乐编码

最新更新