我正在构建一个类似亚马逊的应用程序。对loginactivity进行编码后,我无法从mainactivity访问它,因为它总是崩溃
这是我的loginactivity.java
public class loginActivity extends AppCompatActivity
{
private EditText InputPhoneNumber, InputPassword;
private Button LoginButtonPage;
private ProgressDialog loadingBar;
private String parentDbname = "Users";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
LoginButtonPage = findViewById(R.id.page_login_btn);
InputPhoneNumber = findViewById(R.id.login_phone_number_input);
InputPassword = findViewById(R.id.login_password_input);
loadingBar = new ProgressDialog(this);
LoginButtonPage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
LoginUser();
}
});
}
private void LoginUser()
{
String phone =InputPhoneNumber.getText().toString();
String password =InputPassword.getText().toString();
if (TextUtils.isEmpty(phone))
{
Toast.makeText(this,"Please Write Your Phone Number...", Toast.LENGTH_SHORT).show();
}
else if (TextUtils.isEmpty(password))
{
Toast.makeText(this,"Please Write Your Password...", Toast.LENGTH_SHORT).show();
}
else
{
loadingBar.setTitle("Login Account");
loadingBar.setMessage("Please Wait, while we are checking the credentials.");
loadingBar.setCanceledOnTouchOutside(false);
loadingBar.show();
AllowAccessToAccount(phone, password);
}
}
private void AllowAccessToAccount(final String phone, final String password)
{
final DatabaseReference RootRef;
RootRef = FirebaseDatabase.getInstance().getReference();
RootRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
{
if (dataSnapshot.child(parentDbname).child(phone).exists())
{
Users usersData = dataSnapshot.child(parentDbname).child(phone).getValue(Users.class);
assert usersData != null;
if (usersData.getPhone().equals(phone))
{
if (usersData.getPassword().equals(password))
{
Toast.makeText(loginActivity.this, "logged in successfully...", Toast.LENGTH_SHORT).show();
loadingBar.dismiss();
Intent intent = new Intent(loginActivity.this, HomeActivity.class);
Prevalent.currentOnlineUser = usersData;
startActivity(intent);
}
else
{
loadingBar.dismiss();
Toast.makeText(loginActivity.this, "Password is incorrect", Toast.LENGTH_SHORT).show();
}
}
}
else
{
Toast.makeText(loginActivity.this, "Account with this" + phone + "number do not exists", Toast.LENGTH_SHORT).show();
loadingBar.dismiss();
Toast.makeText(loginActivity.this, "you need to create a new account", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError)
{
}
});
}
}
这是我的后勤活动布局
<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"
android:background="@color/orange"
tools:context=".loginActivity">
<ImageView
android:id="@+id/login_applogo"
android:layout_width="300dp"
android:layout_height="100dp"
android:src="@drawable/applogo"
android:layout_centerHorizontal="true"
android:layout_marginTop="170dp"
/>
<EditText
android:id="@+id/login_phone_number_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_applogo"
android:background="@drawable/input_design"
android:padding="20dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:hint="Phone Number"
android:inputType="number"
android:textColor="@color/black"
android:textColorHint="@color/black"
android:textSize="17sp"
android:textStyle="bold"
/>
<EditText
android:id="@+id/login_password_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_phone_number_input"
android:background="@drawable/input_design"
android:padding="20dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="6dp"
android:hint="Password"
android:inputType="textPassword"
android:textColor="@color/black"
android:textColorHint="@color/black"
android:textSize="17sp"
android:textStyle="bold"
/>
<LinearLayout
android:id="@+id/linear_layout_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_below="@id/login_password_input"
android:layout_marginTop="5dp"
>
<CheckBox
android:id="@+id/remember_me_checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Material.Drawable.CheckBox"
android:text="Remember Me"
android:textColor="@color/black"
app:cbd_strokeColor="@color/black"
android:gravity="center_vertical"
android:textSize="16sp"
android:textStyle="bold"
android:layout_marginLeft="17dp"
/>
<TextView
android:id="@+id/forget_password_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Forgot Password?"
android:textColor="@color/black"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
/>
</LinearLayout>
<Button
android:id="@+id/page_login_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linear_layout_1"
android:layout_marginTop="5dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@drawable/loginbutton"
android:padding="17dp"
android:textAllCaps="false"
android:textSize="18sp"
android:text="Login"
android:textColor="@color/black"
/>
<TextView
android:id="@+id/admin_panel_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I'm an Admin"
android:layout_alignParentEnd="true"
android:layout_below="@+id/page_login_btn"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="23dp"
/>
<TextView
android:id="@+id/not_admin_panel_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I'm an not Admin"
android:layout_alignParentStart="true"
android:layout_below="@+id/page_login_btn"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginStart="25dp"
android:visibility="invisible"
/>
</RelativeLayout>
然后我得到这个错误
E/AndroidRuntime:致命异常:主进程:com。极大的快餐,PID:12305爪哇。lang.RuntimeException:无法启动活动组件信息{com.infinite.fastfood/com.infinite.fastfood.loginActivity}:java。lang.ClassCastException:androidx。appcompat。小装置。AppCompatButton无法强制转换为com。雷伊。布料小装置。Android上的按钮。应用程序。活动html" target="_blank">线程。在android上执行启动活动(ActivityThread.java:2646)。应用程序。活动线程。android上的handleLaunchActivity(ActivityThread.java:2707)。应用程序。活动线程-android上的wrap12(ActivityThread.java)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1460)。操作系统。处理程序。android上的dispatchMessage(Handler.java:102)。操作系统。活套。android上的loop(Looper.java:154)。应用程序。活动线程。java上的main(ActivityThread.java:6077)。朗。反思。方法在com上调用(本机方法)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:866)。Android内部的操作系统。合子体。main(ZygoteInit.java:756)由以下原因引起:java。lang.ClassCastException:androidx。appcompat。小装置。AppCompatButton无法强制转换为com。雷伊。布料小装置。按钮在com。极大的快餐。后勤活动。android上的onCreate(loginActivity.java:36)。应用程序。活动在android上执行创建(Activity.java:6662)。应用程序。仪器仪表。android上的callActivityOnCreate(Instrumentation.java:1118)。应用程序。活动线程。在android上执行启动活动(ActivityThread.java:2599)。应用程序。活动线程。handleLaunchActivity(ActivityThread.java:2707)
在firebase中,您正在为管理员创建帐户,将firebase中的电话号码从:9999999999更改为电话号码:“9999999999”。表示在姓名、电话和密码中添加双引号(“)。
如果您没有在Firebase中使用双引号,则数据为长数据类型。但是java文件需要字符串值中的所有数据。
尝试使用“用户”而不是parentDbName。if(dataSnapshot.child(“用户”)。儿童(电话)。存在())
尝试更改com。雷伊。布料小装置。按钮导入到androidx。appcompat。小装置。应用程序兼容按钮
在发帖之前,我已经读过很多类似的问题,但都没有运气。 当我确定错误正在出现时,代码部分是: 与该部分相关的特定XML文件是: 出现此异常的原因是什么?我如何修复? 当我使用线性时,我不完全确定为什么异常与相对布局有关。 请注意,我是Android新手,所以这可能不是最聪明的问题!提前感谢您的帮助! 按要求activity_main.xml代码(据我所知,我自己没有创建也没有碰过这个文件):
当我在activity_main中单击Update Faculty(MaterialCardView)时。xml活动更新教员。xml应该显示,但我的应用程序崩溃并关闭,我试图在logcat中找到问题,它说“androidx.recyclerview.widget.recyclerview无法转换为android.widget.LinearLayout”我还是新手,所以很难找到问题。谁能帮帮我吗 以
我无法在listview模板上修复此问题:我的帖子标题中有错误,但我不会将imageview转换为textview。这是我的代码: java代码的错误在我的文件的第58行,我将TextView id分配给TextView mq: 下面是日志: 06-25 16:08:32.497:D/Debug(14642):Prendo Textview MQ 06-25 16:08:32.497:D/Andr
我试图在工具栏上添加一个阴影,下面是这个例子https://stackoverflow.com/a/26904102/4273056 活动中的我的工具栏 这是我添加工具栏的xml文件 我在logcat java中得到了这个。ClassCastException:android。小装置。LinearLayout无法转换为android。支持v7。小装置。工具栏 我怎样才能摆脱这个错误?
我得到以下例外在Android当点击一个按钮把我从一个活动到另一个(我是新的Android开发,所以它可能不是最聪明的问题): JAVAClassCastException:android。小装置。RelativeLayout无法转换为android。小装置。编辑文本 我已经尝试过清理项目好几次了,我尝试过Android工具中的修复项目属性选项,我检查过我的xml是否有错误,但我似乎无法解决这个问
我试图通过使用新的回收器视图列出数据 这是我的 MainActivity.java 主要活动。xml 我的文本视图。xml Logcat: 第78行: