Удаление ListView после выбора пользователем элемента - PullRequest
1 голос
/ 18 февраля 2011

Это должно быть довольно просто. Вариант использования: у меня есть ListView, сгенерированный по результатам голосового поиска. Как только пользователь выберет соответствующий элемент из списка, я хочу, чтобы список исчез. Этот список (его содержимое) больше не понадобится. Я знаю, что это можно сделать несколькими способами, но у меня недостаточно опыта, чтобы знать, какой из них лучше (самый быстрый, самый эффективный с мобильными ресурсами ... и т. ». В любом случае я думал, что пойду к источнику за правильным ответом.

Спасибо как всегда за вашу помощь. Вот соответствующий код, если вам нравится:

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {

        mList = (ListView) findViewById(R.id.list);

        ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
        mList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, matches));

        mList.setTextFilterEnabled(true);

        mList.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String description = ((TextView) view).getText().toString();
                final EditText etDesc = (EditText) findViewById(R.id.EditDescription);

                etDesc.setText(description);
                mList.setVisibility(2);
            }
        });
    }
}   

1 Ответ

1 голос
/ 18 февраля 2011

Ну, я не знаю точно, чего вы пытаетесь достичь.Вы можете решить эту проблему, создав Dialog, содержащий список, и вы можете либо отклонить Dialog, как только они нажмут на элемент, либо вы можете сделать это с помощью кнопки "ОК".

Такжевы можете разделить ваш activity на две части, и всякий раз, когда элемент выбирается из списка, вы заканчиваете activity и возвращаетесь к предыдущему activity.

Другое решение заключается в том, что когда-то элементзатем выберите mList.setVisibility(View.Gone) (или View.Invisible в зависимости от того, чего вы хотите достичь).

Любое из этих решений может работать, и вам придется решить, что лучше всего подойдет для логики вашего приложения.,Я надеюсь, что это помогает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...