从资产文件夹ANDROID STUDIO中查找文本文件中的单词

时间:2017-09-19 15:43:31

标签: java android assets

我的应用有问题。 我要做的是找到从用户输入到文本字段的单词的押韵。 我在assets文件夹中有一个名为“words.txt”的字典。 我的应用程序几乎正常工作,但它只找到我的文本文件中的一个单词。 如何找到与文本字段中的单词押韵的所有单词? 有任何想法吗? 这是我的代码:

@Override
protected void onCreate(Bundle saveInstanceState){
    super.onCreate(saveInstanceState);
    setContentView(R.layout.activity_main);

    editTextWord = (EditText)findViewById(R.id.editTextWord);
    b_read = (Button)findViewById(R.id.buttonSearch);
    tv_text = (TextView)findViewById(R.id.nameTxt);
    b_clear = (Button)findViewById(R.id.buttonClear);



    b_clear.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(MainActivity.this, MainActivity.class);
            startActivity(i);
        }
    });

    b_read.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            try {
                InputStream is = getAssets().open("words.txt");
                int size = is.available();
                BufferedReader rd = new BufferedReader(new InputStreamReader(is,"UTF-8"));
                String line;
                String word = editTextWord.getText().toString();
                if (word.isEmpty()){
                    Toast.makeText(getApplicationContext(), "Wpisz słowo", Toast.LENGTH_SHORT).show();
                    return;
                }

                while ((line = rd.readLine()) !=null ){
                    if (line.substring(line.length()-2).equals(word.substring(word.length()-2))){
                        tv_text.setText(line);

                    }
                }
                rd.close();

            }catch (IOException ex){
                ex.printStackTrace();
            }


        }
    });
}

1 个答案:

答案 0 :(得分:0)

tv_text.setText会覆盖TextView中已有的所有内容。您需要使用TextView.append(CharSequence)

之类的内容

尝试:

tv_text.append(line + "\n");