Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Enlils
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 14
1

Приложение крашится при попытке инициализировать searchview

01.06.2017, 14:09. Просмотров 844. Ответов 4

Кто может подсказать, что я делаю не правильно
Приложение рушится на попытке инициализировать элемент SearchView
на вот этой строчке
Java
1
SearchView searchView = (SearchView)findViewById(R.id.search);
Вот код
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package tatianakaynova.cookinghelp;
 
import android.database.Cursor;
import android.database.SQLException;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.SearchView;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
 
import java.io.IOException;
 
public class searchname extends AppCompatActivity {
    Cursor c;
    ArrayAdapter<String> adapter;
    int i = 0;
    String[] names = new String[40];
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_searchname);
 
        ListView listView = (ListView)findViewById(R.id.listview);
        DataBaseHelper myDbHelper = new DataBaseHelper(searchname.this);
        try {
            myDbHelper.createDataBase();
        }
        catch (IOException ioe) {
            throw new  Error("Error");
        }
        try {
            myDbHelper.openDataBase();
        }
        catch (SQLException sqle) {
            throw sqle;
        }
        c = myDbHelper.query("Book_of_recipes", null, null, null, null, null, null);
 
        if (c.moveToFirst()){
            do {
 
                   names[i] = c.getString(1);
                   i++;
 
            } while (c.moveToNext());
 
 
        }
// используем адаптер данных
         adapter = new ArrayAdapter<>(searchname.this,
                android.R.layout.simple_list_item_1, names);
 
        listView.setAdapter(adapter);
 
 
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
 
       SearchView searchView = (SearchView)findViewById(R.id.search);
 
 
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }
 
            @Override
            public boolean onQueryTextChange(String newText) {
                adapter.getFilter().filter(newText);
                return false;
            }
        });
        return super.onCreateOptionsMenu(menu);
    }
}

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

0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2017, 14:09
Ответы с готовыми решениями:

При добавлении OnTouchListener приложение начинает крашится
Делаю своё первое приложение под Android и столкнулся с следующей проблемой - программа вылетает...

При открытии SQL базы из SecondActivity приложение крашится
Ткните в ошибку пожалуйста,не могу разобраться что не так... MainActivity : public class...

Крашится приложение при повторной загрузки изображения через галерею
Привет! Ерунда такая. Указываю картинку для загрузки в View через галерею. Первый раз загружаю,...

Обработчик кнопки не работает - приложение компилируется, но крашится при запуске
Всем привет! Собственно, проблема: у меня получилось сделать udp-listener за пару вечеров - слава...

Вылетает приложение при попытке удалить элемент из SQL таблицы в диалоговом окне
Лог: E/AndroidRuntime: FATAL EXCEPTION: main Process: user.adprediction, PID:...

4
Pablito
2846 / 2264 / 762
Регистрация: 12.05.2014
Сообщений: 7,932
Завершенные тесты: 1
01.06.2017, 14:16 2
Лучший ответ Сообщение было отмечено Enlils как решение

Решение

в методе onCreateOptionsMenu должно создаваться меню из ресурсов, то есть надо добавить строку
Java
1
getMenuInflater().inflate(R.menu.tvoe_menu_v_resursah, menu);
ну а потом в этом меню и надо искать SearchView (если оно там конечно есть)
Java
1
2
        MenuItem searchItem = menu.findItem(R.id.menu_search);
        searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
сам пункт меню, типа такого
XML
1
2
3
4
5
6
<item
        android:id="@+id/menu_search"
        android:title="@string/menu_search"
        android:icon="@android:drawable/ic_menu_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="collapseActionView|ifRoom"/>
Добавлено через 39 секунд
и если после этого выдаст ошибку - лог ошибки надо показывать + обновленный код и разметку меню
1
Enlils
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 14
01.06.2017, 16:44  [ТС] 3
Pablito, огромное спасибо, что откликнулись
После исправлений все так же крашится
вот исправленый код
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package tatianakaynova.cookinghelp;
 
import android.database.Cursor;
import android.database.SQLException;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.SearchView;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
 
import java.io.IOException;
 
public class searchname extends AppCompatActivity {
    Cursor c;
    ArrayAdapter<String> adapter;
    int i = 0;
    String[] names = new String[40];
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_searchname);
 
        ListView listView = (ListView)findViewById(R.id.listview);
        DataBaseHelper myDbHelper = new DataBaseHelper(searchname.this);
        try {
            myDbHelper.createDataBase();
        }
        catch (IOException ioe) {
            throw new  Error("Error");
        }
        try {
            myDbHelper.openDataBase();
        }
        catch (SQLException sqle) {
            throw sqle;
        }
        c = myDbHelper.query("Book_of_recipes", null, null, null, null, null, null);
 
        if (c.moveToFirst()){
            do {
 
                   names[i] = c.getString(1);
                   i++;
 
            } while (c.moveToNext());
 
 
        }
// используем адаптер данных
         adapter = new ArrayAdapter<>(searchname.this,
                android.R.layout.simple_list_item_1, names);
 
        listView.setAdapter(adapter);
 
 
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_search, menu);
        MenuItem item = menu.findItem(R.id.menuSearch);
       SearchView searchView = (SearchView)item.getActionView();
 
 
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }
 
            @Override
            public boolean onQueryTextChange(String newText) {
                adapter.getFilter().filter(newText);
                return false;
            }
        });
        return super.onCreateOptionsMenu(menu);
    }
}
Разметка
XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
 
 
        <item android:id="@+id/menuSearch"
            android:title="Search"
            android:icon="@android:drawable/ic_menu_search"
            app:actionViewClass="android.widget.SearchView"
            app:showAsAction = "always"></item>
</menu>
Лог
0
Миниатюры
Приложение крашится при попытке инициализировать searchview  
Pablito
2846 / 2264 / 762
Регистрация: 12.05.2014
Сообщений: 7,932
Завершенные тесты: 1
01.06.2017, 16:48 4
в моем xml коде указан
XML
1
app:actionViewClass="android.support.v7.widget.SearchView"
а не
android.widget.SearchView
0
Enlils
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 14
01.06.2017, 16:52  [ТС] 5
Pablito, внимательность мое все
Заработало, огромное спасибо за помощь
0
01.06.2017, 16:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2017, 16:52

Крашится приложение в Эмуляторе
Здравствуйте, поставил себе IDEA + Genymotion Запускаю эмулятор, запускаю приложение и приложение...

Крашится приложение после setext
Всем здравствуйте, столкнулся с непонятной проблемой, запускаю приложение(отправляется строка на...

Крашится приложение после портирования на Циан
ПРИВЕТ ПОРТИРУЮ ЦИАН СТОЛКНУЛСЯ С ПРОБЛЕМОЙ КРОШИТСЯ ПРИЛОЖЕНИЕ ТЕЛЕФОН ЗАГРУЖАЕТСЯ ВЫДАЕТ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru