Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
11 / 11 / 0
Регистрация: 19.02.2014
Сообщений: 95
1

Небольшой поиск в приложении

10.04.2014, 18:31. Показов 1008. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте всем)

Задумал как-то сделать небольшое приложение, поиск погоды, просто так.Так от главный вопрос возник, как организовать сам поиск?

Наклепал кое что, как обычно:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
 
public class ViewActivity extends Activity {
    EditText searchtext;
    TextView txtv;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.two);
        searchtext = (EditText) findViewById(R.id.editText1);
        txtv = (TextView) findViewById(R.id.textView1);
 
        searchtext.setOnKeyListener(new View.OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction() == KeyEvent.ACTION_DOWN
                        && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                    String strCatName = searchtext.getText().toString();
                    ReadSearchdata(strCatName);
                    return true;
                }
                return false;
            }
 
        });
    }
 
    protected void ReadSearchdata(String strCatName) {
        if (strCatName.equals("pit")) {
            txtv.setText("Питер - хороший город!");
        }
    }
}
Простейший примерчик.

Но так ли я реализовываю поиск?) Само собой не так, надо что делать через СеарчДиалог..Но особого опыта с ним нет пока что.
Возможно, при таком варианте не удастся сделать поиск по умолчанию, то есть при поиске мы могли бы выбрать искать через <имяЭтойШтуки>
Почему такой вариант не подходит?)

Добавлено через 20 часов 27 минут
Если вдруг и использовать вот такой вариант, то какие конфузы могут случится?)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2014, 18:31
Ответы с готовыми решениями:

Поиск кнопок в другом приложении
Помогите) Пользователь выбирает приложение,в этом приложении нужно найти все кнопки и по очереди...

Как сделать поиск в веб-приложении?
Всем привет! Практикуюсь в разработке веб-приложения, где нужно осуществить сортировку по номеру и...

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

Поиск и замена в запущенном приложении определенного текста
Ребят! Помогите дописать код. Программа должна искать в запущенном приложении определенный текст и...

4
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
10.04.2014, 18:40 2
Nachinka, а почему нет, можно и так. Можете использовать не EditText, а SearchView (http://developer.android.com/r... hView.html)
+ бросается в глаза то, что когда пользователь наживает ок на клавиатуре - поиск происходит, но клавиатура не исчезает.
1
11 / 11 / 0
Регистрация: 19.02.2014
Сообщений: 95
10.04.2014, 19:58  [ТС] 3
Цитата Сообщение от YuraAAA Посмотреть сообщение
+ бросается в глаза то, что когда пользователь наживает ок на клавиатуре - поиск происходит, но клавиатура не исчезает.
Хм..А как этого избежать?)

Или это только при использовании SearchView?
0
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
11.04.2014, 18:58 4
Лучший ответ Сообщение было отмечено Nachinka как решение

Решение

Nachinka,
Java
1
2
3
4
InputMethodManager imm = (InputMethodManager)getSystemService(
      Context.INPUT_METHOD_SERVICE);
 
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
1
11 / 11 / 0
Регистрация: 19.02.2014
Сообщений: 95
11.04.2014, 22:06  [ТС] 5
Если я правильно понял это в листенер едит текста:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;
 
public class ViewActivity extends Activity {
    TextView tvView;
    EditText searchtext;
    TextView txtv;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.two);
        searchtext = (EditText) findViewById(R.id.editText1);
        txtv = (TextView) findViewById(R.id.textView1);
        Intent intent = getIntent();
        String fName = intent.getStringExtra("fname");
 
        searchtext.setText(fName);
 
        searchtext.setOnKeyListener(new View.OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction() == KeyEvent.ACTION_DOWN
                        && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                    
                    InputMethodManager imm = (InputMethodManager)getSystemService(
                              Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(searchtext.getWindowToken(), 0);
                    
                    String strCatName = searchtext.getText().toString();
                    ReadSearchdata(strCatName);
                    return true;
                }
                return false;
            }
 
        });
    }
 
    protected void ReadSearchdata(String strCatName) {
        if (strCatName.equals("pit")) {
            txtv.setText("Питер - хороший город!");
        }
    }
}
0
11.04.2014, 22:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2014, 22:06
Помогаю со студенческими работами здесь

Код который работает в консольном приложении в приложении Windows Forms выдает ошибку
Есть код для записи видео с экрана. В консольном приложении он работает, записывает все как нужно....

небольшой загузчик
набросал загрузчик, через Hex Editor Neo загнал его в самое начало ima-образа дискеты, но он не...

Небольшой Guide
Добрый день. У меня началась курсавая и я столкнулся с проблемкой... У меня на форме 2, 3 и 4...

Небольшой Апгрейд
Здравствуйте, хотелось бы слегка освежить ПК при бюджете в 10.000 RUR и следующих характеристиках:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru