在 Android Studio 中,如果您想从 EditText
中获取相同单词的多个记录,您可以使用以下步骤来实现这一目标。这里的思路是将用户输入的文本分割成单词,然后查找相同的单词并记录它们的出现次数。
首先,您需要在布局文件中添加一个 EditText
和一个 Button
,用于输入和触发查找操作。您还可以添加一个 TextView
来显示结果。
<!-- res/layout/activity_main.xml -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入文本" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查找相同单词" />
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp" />
</LinearLayout>
在您的 Activity
中,您可以实现逻辑来处理用户输入并查找相同的单词。
// MainActivity.java
package com.example.yourapp;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private EditText editText;
private Button button;
private TextView resultTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
button = findViewById(R.id.button);
resultTextView = findViewById(R.id.resultTextView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String inputText = editText.getText().toString();
findDuplicateWords(inputText);
}
});
}
private void findDuplicateWords(String input) {
// 将输入文本分割成单词
String[] words = input.split("\\s+");
HashMap<String, Integer> wordCount = new HashMap<>();
// 统计每个单词的出现次数
for (String word : words) {
word = word.toLowerCase(); // 转换为小写以避免大小写问题
if (!word.isEmpty()) {
wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
}
}
// 构建结果字符串
StringBuilder result = new StringBuilder();
for (Map.Entry<String, Integer> entry : wordCount.entrySet()) {
if (entry.getValue() > 1) { // 只显示出现次数大于1的单词
result.append(entry.getKey()).append(": ").append(entry.getValue()).append("\n");
}
}
// 显示结果
if (result.length() == 0) {
resultTextView.setText("没有重复的单词。");
} else {
resultTextView.setText(result.toString());
}
}
}
EditText
用于输入文本,一个 Button
用于触发查找操作,以及一个 TextView
用于显示结果。
onCreate
方法中,我们初始化了视图组件,并设置了按钮的点击事件。findDuplicateWords
方法中,我们将输入文本分割成单词,并使用 HashMap
来统计每个单词的出现次数。TextView
中。现在,您可以运行应用,输入一些文本并点击按钮,应用将显示重复单词及其出现次数。
通过以上步骤,您可以在 Android 应用中从 EditText
中获取相同单词的多个记录。您可以根据需要进一步扩展此功能,例如添加更多的文本处理功能或改进用户界面。
领取专属 10元无门槛券
手把手带您无忧上云