简单实现替换关键字文本功能以下是MainActivity 代码和布局代码
package com.amap.kp;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
EditText J_student, X_student, et_text;
TextView tv_dete;
Button bt_content, bt_copy, bt_tihuan, bt_date, bt_stick;
private String selectedDate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
J_student = findViewById(R.id.J_student);
X_student = findViewById(R.id.X_student);
et_text = findViewById(R.id.et_text);
bt_content = findViewById(R.id.bt_content);
bt_copy = findViewById(R.id.bt_copy);
bt_tihuan = findViewById(R.id.bt_tihuan);
bt_stick = findViewById(R.id.bt_stick);
tv_dete = findViewById(R.id.tv_dete);
bt_content.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (TextUtils.isEmpty(et_text.getText().toString())) {
Toast.makeText(MainActivity.this, "已经清空啦", Toast.LENGTH_SHORT).show();
} else {
et_text.setText("");
}
}
});
bt_tihuan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (TextUtils.isEmpty(X_student.getText().toString()) || TextUtils.isEmpty(J_student.getText().toString())) {
Toast.makeText(MainActivity.this, "请输入要替换的内容", Toast.LENGTH_SHORT).show();
} else {
String newStudent = X_student.getText().toString();
String formerStudent = J_student.getText().toString();
String text = et_text.getText().toString();
if (text.contains(formerStudent)) {
text = text.replace(formerStudent, newStudent);
et_text.setText(text);
}
}
}
});
bt_copy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = et_text.getText().toString();
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context
.CLIPBOARD_SERVICE);
ClipData clipData = ClipData.newPlainText("", text);
clipboardManager.setPrimaryClip(clipData);
Toast.makeText(MainActivity.this, "复制成功", Toast.LENGTH_SHORT).show();
}
});
Button bt_date = findViewById(R.id.bt_date);
bt_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
selectedDate = String.format("%d月%d日课评:", month + 1, dayOfMonth);
String text = et_text.getText().toString();
et_text.setText(selectedDate + "\n" + text);
Toast.makeText(MainActivity.this, "设置日期成功:" + selectedDate, Toast.LENGTH_SHORT).show();
// 将日期保存到 String 变量中
}
}, year, month, dayOfMonth);
datePickerDialog.show();
}
});
final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
bt_stick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (clipboardManager.hasPrimaryClip()) {
ClipData clipData = clipboardManager.getPrimaryClip();
if (clipData != null && clipData.getItemCount() > 0) {
CharSequence pasteText = clipData.getItemAt(0).getText();
et_text.setText(pasteText);
}
}
}
});
}
}
<?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"
android:padding="10dp"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="20"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="旧学员名:"
android:textSize="20sp" />
<EditText
android:id="@+id/J_student"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="新学员名:"
android:textSize="20sp" />
<EditText
android:id="@+id/X_student"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/bt_tihuan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:layout_gravity="center"
android:text="一键\n替换" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<Button
android:id="@+id/bt_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清空内容"/>
<Button
android:id="@+id/bt_copy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="复制内容"/>
<Button
android:id="@+id/bt_stick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="粘贴内容"/>
<Button
android:id="@+id/bt_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="选择日期"/>
</LinearLayout>
<TextView
android:id="@+id/tv_dete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:text="日期"/>
<EditText
android:id="@+id/et_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="请输入内容"
android:gravity="top"/>
</LinearLayout>