2017-09-19 3 views
0

내 앱에 문제가 있습니다. 내가하려는 것은 사용자로부터 텍스트 필드로 입력 된 단어에 대한 운을 찾는 것입니다. "words.txt"라는 사전 자산 폴더가 있습니다. 내 응용 프로그램이 거의 제대로 작동하지만 텍스트 파일에서 한 단어 만 찾습니다. 텍스트 필드에서 단어와 운율을 붙이는 단어를 모두 찾을 수 있습니까? 아이디어가 있으십니까?자산 폴더의 텍스트 파일에서 단어 찾기 ANDROID STUDIO

@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(); 
      } 


     } 
    }); 
} 

답변

0

tv_text.setText는 텍스트 뷰에 이미 아무것도 덮어 : 다음은 내 코드입니다. ,

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

한 훌륭한 작동하지만, 지금은 그것을 옆에서 하나를 표시하는 방법 : 당신은 TextView.append(CharSequence)

시도 같은 것을 사용할 필요가? 이제는보기에 나쁘다. – MichalG

+0

새 줄을 추가해야합니다. 어쩌면 시도해보십시오 : tv_text.append (line + "\ n"); – amacf

+0

고마워요 :) 지금은 잘 작동합니다. – MichalG