一切都井然有序。但是,当我使用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" />
答案 0 :(得分:1)
您正在onCreate方法中获取EditText保存的文本。这是活动初始化和创建时的点,此时EditText不可能包含任何文本,除非您在布局中对其进行硬化。相反,您可以创建一个按钮,例如(在我假设的情况下登录),它将执行您的逻辑。
答案 1 :(得分:0)
这是一个例子。
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());
}
});
一开始不打印任何内容。如果您在编辑文本中键入任何内容然后按下按钮,它将打印出您写的任何内容并在屏幕上将其烘烤。
快乐编码