我想進行一次小型登錄,如果密碼正確,它應該顯示一個彈出窗口(Toast)。登錄設計和activity_main.xml都可以,但是我的MainActivity.java出了問題。它沒有顯示任何錯誤,應用程序沒有崩潰,但它不會給我Toast操作。Toast未顯示
我下面這個教程:https://examples.javacodegeeks.com/android/android-login-example/
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.localhost.login.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Please fill in your password."
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:gravity="center"
android:id="@+id/digitcode"
android:layout_marginTop="47dp"
android:textSize="15dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_login_submit"
android:id="@+id/loginButton"
android:layout_below="@+id/digitcode"
android:layout_marginTop="47dp"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
MainActivity.java
package com.localhost.login;
import android.support.v7.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private EditText passcode;
private Button login;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupVariables();
}
// Check login
public void checkLogin(View view) {
if (passcode.getText().toString().equals("aa")) {
Toast.makeText(getApplicationContext(), "Hi Man!!", Toast.LENGTH_SHORT).show();
}
}
// Declare variables
private void setupVariables() {
passcode = (EditText) findViewById(R.id.digitcode);
login = (Button) findViewById(R.id.loginButton);
}
}
有人可以給我在正確的方向推?
它看起來不像你在調用checkLogin方法。那麼如何達到這個條件呢? – chRyNaN
在按鈕的XML文件中添加'android:onClick =「checkLogin」',或者在Java端爲此按鈕調用此函數註冊偵聽器。 –
@AlexisC。這看起來像是答案,而不是評論 –