@bychok300

SearchView для поиска внутри TextView, как сделать?

Есть активити на которую передается текст
public class Parsed extends Activity {

    //объявляем текствью в который будем класть наш спаршеный текст
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.parsed);

        //находим нашу текствью на активити
        textView = (TextView)findViewById(R.id.textView);
        MyTask mt = new MyTask();
        mt.execute();

    }
    class MyTask extends AsyncTask<Void, Void, Void> {

        String html;//Тут храним значение заголовка сайта
        String url = getIntent().getExtras().getString("url");//тут принимаем наш урл введенный на мэйн активити
        @Override
        protected Void doInBackground(Void... params) {

            Document doc = null;//Здесь хранится будет разобранный html документ
            try {
                //Считываем url
                doc = Jsoup.connect("http://" + url).get();
            } catch (IOException e) {
                //Если не получилось считать
                e.printStackTrace();
            }

            //Если всё считалось, то вытаскиваем из считанного html документа всё
            if (doc!=null)
                html = doc.html();
            else
                html = "Шото пошло не так, я хз че там за хня. Мож с урлом что, а мож и с самим хтмл";

            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            //добавляем в текствью наш хтмл
            textView.setText(html);
        }
    }
}


я хочу по текствью сделать поиск с помощью search view, в интернете все про поиск в лист вью, а я хочу в текст вью, я нашел кучу примеров кода как это сделать, например:
@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_toolbar, menu);

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

        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        if(null!=searchManager ) {
            searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
        }
        searchView.setIconifiedByDefault(false);
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        });
        return true;
    }


вопрос в том, что я не понимаю как это привязать к текст вью, как сделать так, что бы совпадение в запросе совпадало с куском текста и показывалось это совпадение?
  • Вопрос задан
  • 543 просмотра
Пригласить эксперта
Ответы на вопрос 1
@z0rgoyok
Посмотрите тут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы