Teoman
Yurtdışı
02/02/2017 tarihinden beri üye
85
GY Puanı
54K
GY Sırası
1
Rozet
0
Sertifika
1
Soru Sordu
0
Cevap Verdi
0
Blog Yazısı
0
Etiket Takibi
İş Tecrubesi
Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.
Eğitim Geçmişi
Diğer...
| Aralık 2020
- Aralık 2020
Sertifikalar & Başarılar
GY Sertifikaları
(0)
Kullanıcının GY sertifikası bulunmamaktadır.
Diğer Sertifikaları
(0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları
(0)
Kullanıcıya ait test sonucu bulunmamaktadır.
Dil Becerileri
Son Forum Aktiviteleri
1EditText ile filtrelemede pozisyon hatası
Arkadaşlar
Sözlüğümde veritabanından çektiğim veriyi EditText ile filtereledikten sonra, filtrelediğim veriden seçim yaptığımda kelimenin kendi açıklaması yerine başka anlam geliyor. Kelimenin pozisyon numarası EditText ile filtereledikten değişmiyor. Şöyle:
MainActivity.java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private EditText filterText;
private ArrayAdapter<String> listAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
filterText = (EditText)findViewById(R.id.editText);
ListView itemList = (ListView)findViewById(R.id.listView);
DbBackend dbBackend = new DbBackend(MainActivity.this);
String[] terms = dbBackend.dictionaryWords();
listAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, terms);
itemList.setAdapter(listAdapter);
itemList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// make Toast when click
Toast.makeText(getApplicationContext(), "Position " + position, Toast.LENGTH_LONG).show();
Intent intent = new Intent(MainActivity.this, DictionaryActivity.class);
intent.putExtra("DICTIONARY_ID", position);
startActivity(intent);
}
});
filterText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
MainActivity.this.listAdapter.getFilter().filter(s);
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
DictionaryActivity.java
import android.annotation.TargetApi;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.support.v7.app.ActionBarActivity;
import android.text.method.ScrollingMovementMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Locale;
public class DictionaryActivity extends ActionBarActivity {
private TextView wordMeaning;
private TextToSpeech convertToSpeech;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dictionary);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
int dictionaryId = bundle.getInt("DICTIONARY_ID");
int id = dictionaryId + 1;
TextView word = (TextView)findViewById(R.id.word);
wordMeaning = (TextView)findViewById(R.id.dictionary);
Button textToSpeech = (Button)findViewById(R.id.button);
wordMeaning.setMovementMethod( new ScrollingMovementMethod());
DbBackend dbBackend = new DbBackend(DictionaryActivity.this);
QuizObject allQuizQuestions = dbBackend.getQuizById(id);
word.setText(allQuizQuestions.getWord());
wordMeaning.setText(allQuizQuestions.getDefinition());
textToSpeech.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String convertTextToSpeech = wordMeaning.getText().toString();
convertToSpeech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR){
convertToSpeech.setLanguage(Locale.US);
convertToSpeech.speak(convertTextToSpeech, TextToSpeech.QUEUE_FLUSH, null, null);
}
}
});
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_dictionary, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onPause() {
if(convertToSpeech != null){
convertToSpeech.stop();
convertToSpeech.shutdown();
}
super.onPause();
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:layout_below="@+id/editText"
android:layout_alignLeft="@+id/editText"
android:layout_alignStart="@+id/editText" />
</RelativeLayout>
Sorunumu çözebilmeme yardım edebilirseniz sevinirim, teşekkürler.
7 yıl 10 ay önce yanıtladın