android - 登录后在警报对话框中显示登录用户信息
问题描述
我想在用户登录到应用程序后显示登录用户的详细信息。它将通过警报对话框显示。但是如何添加,我在哪里添加我做不到。请帮我。这是我的登录活动代码。nedd 如何将登录信息传递给下一个活动以显示警报对话框。
package com.dairy.iconic;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.rudf.library.UpdateChecker;
import static com.dairy.iconic.Iconic.isNetworkStatusAvialable;
public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
final EditText Name = findViewById(R.id.username);
final EditText Password = findViewById(R.id.password);
final Button Login = findViewById(R.id.login);
Login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
validate(Name.getText().toString(), Password.getText().toString());
}
});
}
private void validate(String username, String password) {
if(
(username.equals("1510633101")) && (password.equals("01571728906"))
|| (username.equals("1510533102")) && (password.equals("01762824252"))
|| (username.equals("14077127")) && (password.equals("01722347879"))
|| (username.equals("13027191")) && (password.equals("01558922366")))
{
Intent intent = new Intent(LoginActivity.this, Home.class);
startActivity(intent);
Toast.makeText(getApplicationContext(), (getString(R.string.login_success)), Toast.LENGTH_LONG).cancel();
} else {
//User Logged in Failed
Toast.makeText(getApplicationContext(), (getString(R.string.login_unsuccess)), Toast.LENGTH_LONG).show();
}
}
}
解决方案
您需要创建一个 AlertDialog Fragment 然后显示它。这是对话框的文档 - https://developer.android.com/guide/topics/ui/dialogs#java
像这样的东西-
public class ShowUserInfo extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage('User information')
.setPositiveButton('OK', new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Do whatever you want to happen when the user presses 'ok'
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
然后简单地调用它
DialogFragment newFragment = new ShowUserInfo();
newFragment.show(getSupportFragmentManager(), "userInfo");
推荐阅读
- python - 如何使用 Python 将 SQL 查询的输出重定向到文本文件
- flutter - 有没有一种方法可以在字段集中时输入字段文本?
- c# - 在具有 Moq 的同一成员设置上同时使用 When 和 Protected 方法
- azure-functions - Azure C# 函数调用表单识别器认知服务示例
- sqlite - 除了第一行csv,如何将csv文件导入sqlite?
- cuda - 在这个添加两个数组的程序中,K80 与 Pascal 性能差异的原因是什么?
- java - 枚举实现的单例在模块化趋势中是否仍然值得(即 Java 9+ 模块化和 Jigsaw 项目)
- c# - 我正在尝试使我的库存系统在我的文本冒险游戏中跨功能工作。我是
- python - 按值对python字典进行排序,值是一个元组
- bi-publisher - BI Publisher 功能区未出现在 Office 365 64 位中