SearchView em Android Studio na TextView

28 respostas
java
W

Olá Senhores!!!

Gostaria de algum tópico daqui de site de forum que fala sobre a possibilidade de pesquisar como SearchView na TextView, pelo que eu vi no google developer só dá pra pesquisar com setOnQueryListener , ou seja , com uma lista pré-definida num arraylist<>.

Tenho os livro em uma Main_Activity arrylist add new e na outra activity aparece o texto TextView.

28 Respostas

R

Não entendi oq vc quer, vc tem uma lista aonde?

W

MainActivity =====================lista de livros

lstBook = new ArrayList<>();

lstBook.add(new Book,"","","","","","","")

lstBook.add(new Book,"","","","","","","")

lstBook.add(new Book,"","","","","","","")

lstBook.add(new Book,"","","","","","","")

lstBook.add(new Book,"","","","","","","")

BookActivity

tvtitle = (TextView) findViewById(R.id.txttitle);

tvdescription = (TextView) findViewById(R.id.txtDesc);

tvdescription01 = (TextView) findViewById(R.id.txtDesc01);

tvdescription02 = (TextView) findViewById(R.id.txtDesc02);

tvdescription03 = (TextView) findViewById(R.id.txtDesc03);

tvdescription04 = (TextView) findViewById(R.id.txtDesc04);

tvdescription05 = (TextView) findViewById(R.id.txtDesc05);

tvdescription06 = (TextView) findViewById(R.id.txtDesc06);

tvcategory = (TextView) findViewById(R.id.txtCat);

img = (ImageView) findViewById(R.id.bookthumbnail);

editsearch = (SearchView) findViewById(R.id.search);
// Recieve data
    Intent intent = getIntent();
    String Title = intent.getExtras().getString("Title");
    String Description = intent.getExtras().getString("Description");
    String Description01 = intent.getExtras().getString("Description01");
    String Description02 = intent.getExtras().getString("Description02");
    String Description03 = intent.getExtras().getString("Description03");
    String Description04 = intent.getExtras().getString("Description04");
    String Description05 = intent.getExtras().getString("Description05");
    String Description06 = intent.getExtras().getString("Description06");
    int image = intent.getExtras().getInt("Thumbnail");



    // Setting values

    tvtitle.setText(Title);
    tvdescription.setText(Description);
    tvdescription01.setText(Description01);
    tvdescription02.setText(Description02);
    tvdescription03.setText(Description03);
    tvdescription04.setText(Description04);
    tvdescription05.setText(Description05);
    tvdescription06.setText(Description06);
    img.setImageResource(image);


}

}

Tem o Adapter Book

como faço pra setar o editsearch na Book_Activity , ele é feito através de input da main_activity
String Description06 = intent.getExtras().getString(“Description06”); queria pesquisar aqui tenho que setar e estou pesquisando , comecei hoje.

W

só vi exemplos com lista pré-definida no OnQueryListener

nao quero lista pré-definida já tenho os livros na main activity.

R

Pq vc não passa sua lista através do SharedPreferences?

W

queria setar , como faço sua sugestão?

R

é bem útil, vc consegue passar esses dados no MainActivity e depois usar em qualquer lugar apenas referenciando.

W

vou ver, mas é dificil acho que nao dá pra fazer, pq pelo que vi tem que ser lista pré-definida não dá pra rotular um livro inteiro com no minimo 64 mil caracter pelo java , preciso quebrar as strings em 10 partes 640 mil caracter.

R

pq nao bota isso no banco? vai resolver seus problemas

W

vou estudar. Banco não Rola , quero um apk eterno.

R

mas o banco de dados é eterno também :thinking::thinking:

W

é nada, esses clouds de armazenamento vivem falindo. pelo que estudei sempre tem revolução e compra de grande incorporação nos clouds sql.

R

mas vc nao precisa usar cloud, pode usar só o banco de dados… Mas é uma escolha sua e eu entendo

W

vou pesquisar sql

W

mas quero fazer a transmutação main activity book activity vou pesquisar em Ingles tem bastante solução nos Estados Unidos e site Russos.

W

sempre insisto dá certo

R

tenta o que te passei, o shared preferences é bem tranquilo de usar. aí vc tenta partir pra outra se nao conseguir

W

ok

W

vou ter que mudar o codigo inteiro pelo jeito

R

pq?

W

só dá pra string pequena aqui.

W

vou estudar depois dou retorno

W

Bem , consegui antes do esperado , pensei que levaria dias.

W
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools"
      xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="androidx.appcompat.widget.SearchView"
        android:title="Search"/>
</menu>
W
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.menu.dashboard, menu);

     MenuItem searchItem = menu.findItem(R.id.action_search);

    SearchManager searchManager = (SearchManager) MainActivity.this.getSystemService(Context.SEARCH_SERVICE);

    SearchView searchView = null;
    if (searchItem != null) {
        searchView = (SearchView) searchItem.getActionView();
    }
    if (searchView != null) {
        searchView.setSearchableInfo(searchManager.getSearchableInfo(MainActivity.this.getComponentName()));
    }
        return super.onCreateOptionsMenu(menu);
}
W
<meta-data 
      android:name="android.app.default_searchable" 
      android:value="com.apkgetter.SearchResultsActivity" /> 

        <activity
            android:name="com.apkgetter.SearchResultsActivity"
            android:label="@string/app_name"
            android:launchMode="singleTop" >
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
            </intent-filter>

            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity>
W
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:hint="@string/search_hint"
    android:label="@string/app_name" />
W

só que não pesquisa no Book_Activity, queria pesquisar e dar as opções ou somente deixar amarelo como no Java Activity

W

pelo jeito é possível tenho que estudar mais. abre o programa certinho digito na caixa de texto e nao da pau , porem nao faz a busca

Criado 7 de julho de 2020
Ultima resposta 9 de jul. de 2020
Respostas 28
Participantes 2