java - 该按钮不可见,它将连接 android studio 中的另一个活动
问题描述
我和我的朋友正在为我们的项目创建一个 android 应用程序,我们是新手,如果您认为代码重复,请发布链接。
我们参考了以下 YouTube 视频 - https://youtu.be/wbsWVtCdiW4
现在我们正在为我们的应用程序创建一个基本结构。以下是输入 activity_main.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=".MainActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="157dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="119dp"
android:layout_marginLeft="119dp"
android:layout_marginTop="251dp"
android:layout_marginEnd="97dp"
android:layout_marginRight="97dp"
android:layout_marginBottom="323dp"
android:background="@android:color/holo_blue_light"
android:onClick="startdbapp"
android:text="start db app"
android:textColor="#F8000000"
android:visibility="visible"
tools:visibility="visible" />
</RelativeLayout>
这是 MainActivity.java
package com.login.sqlitedemoapp;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startdbapp(View view) {
new DbManager(this);
startActivity(new Intent(this, InsertData.class));
}
}
这是我的第二个名为 activity_insert_data.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=".InsertData">
<EditText
android:id="@+id/t1"
android:layout_width="242dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="94dp"
android:layout_marginLeft="80dp"
android:layout_marginTop="99dp"
android:layout_marginEnd="75dp"
android:layout_marginRight="80dp"
android:layout_marginBottom="587dp"
android:ems="10"
android:hint="Enter_Name"
android:inputType="textPersonName" />
<EditText
android:id="@+id/t2"
android:layout_width="242dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="89dp"
android:layout_marginLeft="80dp"
android:layout_marginTop="194dp"
android:layout_marginEnd="80dp"
android:layout_marginRight="80dp"
android:layout_marginBottom="492dp"
android:ems="10"
android:hint="Enter_Email"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/t3"
android:layout_width="241dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="88dp"
android:layout_marginLeft="88dp"
android:layout_marginTop="290dp"
android:layout_marginEnd="82dp"
android:layout_marginRight="82dp"
android:layout_marginBottom="396dp"
android:ems="10"
android:hint="Enter_Course"
android:inputType="textPersonName" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="68dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="76dp"
android:layout_marginLeft="76dp"
android:layout_marginTop="395dp"
android:layout_marginEnd="62dp"
android:layout_marginRight="62dp"
android:layout_marginBottom="268dp"
android:onClick="addRecord"
android:text="Insert Record" />
</RelativeLayout>
这是名为 InsertData.java 的主要活动
package com.login.sqlitedemoapp;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class InsertData extends AppCompatActivity
{
EditText t1,t2,t3;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_insert_data);
t1=(EditText)findViewById(R.id.t1);
t2=(EditText)findViewById(R.id.t2);
t3=(EditText)findViewById(R.id.t3);
}
public void addRecord(View view)
{
DbManager db = new DbManager(this);
String res = db.addRecord(t1.getText().toString(), t2.getText().toString(),
t3.getText().toString());
Toast.makeText(this, res, Toast.LENGTH_LONG).show();
t1.setText("");
t2.setText("");
t3.setText("");
}
}
解决方案
我建议您使用约束布局。相对布局是旧的,大多数开发人员都避免使用它们。另外,检查按钮的约束。
推荐阅读
- machine-learning - 我应该在哪里通过编码器-解码器架构中的预训练词嵌入?
- sql-server - 使用“in”子句加速 SQL 查询
- css - show div *ngIf 路由器活动导航栏
- javascript - JavaScript switch 语句只返回第一种情况
- unique - 如何防止在 MemSQL 中重复插入行?
- javascript - 如何在 Javascript 中使用 iOS playinline
- python - 在带有 boto 的 lambda 中使用 get_cost_and_usage 时出错
- python - 连接到 Google Compute Engine 实例以运行 Python 脚本
- jquery - 为什么 $(this).prop("id") 在这种情况下未定义?
- python - 如何将此列表附加保存功能修复到文件?