Witam.
Chciałem napisać aplikacje na androida, która po wpisaniu słowa, znajdzie do niego rym.
Plik tekstowy mam w folderze asset.
Problem polega na tym, ze nie wiem co zrobić aby mój kod zadziałał poprawnie, gdyż na razie po kliknięciu buttona, program po prostu przeskakuje do kolejnych pozycji z pliku tekstowego, zamiast wyświetlać słowa jakie powinien.
Chciałem zastosować bardzo proste wyszukiwanie: jeżeli dwie ostatnie litery słowa z pliku tekstowego są takie same jak dwie ostatnie słowa wpisanego przez użytkownika to zwróć slowa z pliku tekstowego.
Chciałem dodać że jestem na poziomie początkującym i dla tego nie zauważam co w moim kodzie jest źle.
oto mój kod:
public class MainActivity extends Activity implements View.OnClickListener {
InputStream in;
EditText word;
BufferedReader reader;
String line;
TextView text;
String rhyme;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(R.id.textView1);
try {
in = this.getAssets().open("read_asset.txt");
} catch (IOException e) {
e.printStackTrace();
}
reader = new BufferedReader(new InputStreamReader(in));
try {
line = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
text.setText(line);
Button next = (Button) findViewById(R.id.button1);
next.setOnClickListener(this);
word = (EditText)findViewById(R.id.et_word);
}
public void onClick(View v) {
Button next = (Button) findViewById(R.id.button1);
next.setOnClickListener(this);
word = (EditText)findViewById(R.id.et_word);
rhyme = word.getText().toString();
try {
line = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if (line != null || rhyme.substring(rhyme.length() - 2).equals(line.substring(line.length() - 2))) {
text.setText(line);
}
}
}