我正在尝试创建一个简单的字典,用于搜索txt文件中的单词。我创建了txt文件并存储了一些英文单词。我想把这个词写到EditText。然后,将在TextView上找到并显示该单词。这是我的代码。它显示整个txt文件。我怎样才能找到具体的单词?
public class MainActivity extends Activity {
//creating variables
TextView myText;
EditText myEdit;
Button myButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//initializing the TextView EditText and Button
myText=(TextView) findViewById(R.id.idTextView);
myEdit=(EditText) findViewById(R.id.idEditText);
myButton=(Button) findViewById(R.id.idButton);
myButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String saveData=myEdit.getText().toString();
try{
myText.setText(readfile());
}catch(IOException e){
e.printStackTrace();
}
}
});
}
private String readfile()throws IOException {
String str="";
InputStream is = getResources().openRawResource(R.raw.translate);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line=reader.readLine();
while (line!=null)
{
str = str + line + "\n";
line = reader.readLine();
}
reader.close();
return str;
}
}
答案 0 :(得分:1)
认为你正在进行简单的contains()
检查:
String fileText = readFile();
Boolean textFound = fileText.contains(saveData);
如果该布尔值为true,那么您将在框中显示saveData
的值。如果需要,您可以将此操作放在循环中并搜索多个单词。
答案 1 :(得分:1)
这完全取决于readFile()
的实施方式。我建议您修改它以接受String
参数。这样,它将在文件中搜索该单词并将其含义作为另一个String
返回,您可以通过TextView
setText()
myText.setText(readFile(saveData)));
是建议的实现的样子。
在此方法中,当您逐行读取文件时,请检查刚刚从文件中读取的String
是否包含所需的单词。这可以使用contains()
方法完成。