android - 比较文本字段值
问题描述
使用 Internet、Android Studio 和您当前的 Android 应用程序开发知识,创建一个包含两 (2) 个文本字段和一 (1) 个按钮的 Android 应用程序项目。该按钮将比较来自文本字段的输入并在单击时显示响应(如果值相同,则为相同,否则为不同)。您可能需要为此创建一个新活动
解决方案
在使用StackOverflow之前学习基础知识非常重要,这与其他从头开始的教程网站不同,您需要先付出一些努力。如果您是初学者,就像我们一样/有一天,Google 是您最好的朋友。然而,正如你所要求的......
首先,我们需要创建两个activities
,一个用于输入,另一个用于显示结果,当然您可以在同一个活动中进行。
首先Activity
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="5dp"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="value 1"
android:textAppearance="@style/TextAppearance.AppCompat.Display1" />
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="value 2"
android:textAppearance="@style/TextAppearance.AppCompat.Display1" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="compare"
android:text="Compare" />
</LinearLayout>
关联.java
文件:根据需要更改包名
package com.app.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void compare(View view) {
// get the values form those two text views
String value1 = ((EditText) findViewById(R.id.editText1)).getText().toString(); // you can use global variable too.. here, I've just used the shortcut
String value2 = ((EditText) findViewById(R.id.editText2)).getText().toString();
Intent intent = new Intent(this, ResultActivity.class);
if (value1.equals(value2)) {
// same
intent.putExtra("result", true);
} else {
intent.putExtra("result", false);
}
startActivity(intent);
}
}
现在ResultActivity
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
tools:context=".ResultActivity">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textAppearance="@style/TextAppearance.AppCompat.Display2" />
</LinearLayout>
相关类:.java:
package com.app.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class ResultActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
boolean result = getIntent().getBooleanExtra("result", false);
if (result)
((TextView) findViewById(R.id.textView)).setText("SAME");
else
((TextView) findViewById(R.id.textView)).setText("NOT SAME");
}
}
推荐阅读
- powershell - Powershell 将子文件夹中的所有文件和子文件夹移动到当前目录
- java - 无法在 sql server 结果集元数据中获取列名和列标签
- docker - Docker vs wsl2 资源利用率
- excel - VBA:如何遍历相同长度的多个变体数组并将它们转换为对象
- ruby - 滚动时如何检查页面底部是否到达
- flutter - 如何在颤动中更改 showDateRangePicker() 或 showDateRangePicker() 的 TextStyle
- ios - VC 和 swiftUI 的实际 UIAppearance 限制?
- ios - 在 iOS 中上传之前如何检查 PDF 大小?
- javascript - 关于 Phaser 3 中的自定义类
- delphi - 使用多条记录打开查询后减少内存使用量