Ich habe gesucht, wie man ListView
innerhalb SearchView
gefiltert werden kann. Aber jetzt versuche ich herauszufinden, wie man sich auf Basis des Top-Ergebnisses mit der Aktivität verbindet.Probleme mit Aktivität und gefiltert ListView
Ich habe mit diesem Code versucht, aber immer noch die gleiche Aktivität, aber unterschiedliche Suchergebnisse.
package com.rahmadewi30.android.kamus;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SearchView;
public class Search extends AppCompatActivity implements SearchView.OnQueryTextListener {
ListView lvItem;
ArrayAdapter<String> adapter;
SearchView inputSearch;
String[] tumbuhan = new String[]{
"Lumut Tanduk","Lumut Hati","Lumut Daun" ,"Semanggi", "Bakau",
"Paku Kawat", "Nanas","Pisang","Mangga"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
lvItem = (ListView) findViewById(R.id.listItem);
inputSearch = (SearchView) findViewById(R.id.editCari);
adapter = new ArrayAdapter<>(Search.this,
android.R.layout.simple_list_item_1, android.R.id.text1, tumbuhan);
inputSearch.setOnQueryTextListener(this);
lvItem.setAdapter(adapter);
lvItem.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
Intent l = new Intent(view.getContext(), ActivityLumut.class);
startActivityForResult(l, 0);
} else if (position == 1) {
Intent l = new Intent(view.getContext(), ActivityLumutHati.class);
startActivityForResult(l, 1);
} else if (position == 2) {
Intent l = new Intent(view.getContext(), ActivityLumutDaun.class);
startActivityForResult(l, 2);
}
}
});
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return false;
}
}
Ein Klick auf das oberste Element ('if (Position == 0) {' ...) immer die gleiche Tätigkeit beginnen, egal, was die item ('view') ist tatsächlich/enthält. – Gooz
Ja, das ist! Kannst du mir helfen, es zu lösen? –