Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
zuevmail
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 52
#1

FindViewByID возвращает Null производного класса View - Программирование Android

05.11.2015, 20:40. Просмотров 199. Ответов 2
Метки нет (Все метки)

Возвращает null в v, что может быть. если использовать родной SurfaceView все ОК.
Кнопку находит.
В проекте одно activity
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
 
        View v = findViewById(R.id.surface);
        Button b = (Button)findViewById(R.id.button);
        int i =v.getTop();
    }
}
Производный класс
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class CustSurface extends SurfaceView implements SurfaceHolder.Callback  {
    public CustSurface(Context context,AttributeSet attrs) {
        super(context);
        getHolder().addCallback(this);
    }
 
    @Override
    public void surfaceCreated(SurfaceHolder holder) {
 
    }
 
    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
 
    }
 
    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
 
    }
}
Разметка activity
XML
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Start"
        android:id="@+id/button"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />
 
    <ru.canvasview.CustSurface
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:id="@+id/surface"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_above="@+id/button"
        android:layout_alignParentStart="true" />
</RelativeLayout>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2015, 20:40     FindViewByID возвращает Null производного класса View
Посмотрите здесь:

FindViewByID возвращает Null - Программирование Android
День добрый. Я в разработке андроида новичек, и застрял можно сказать в самом начале. Имеется проект типа hello world Один...

RelativeLayout findViewById return null - Программирование Android
Я что-то не пойму никак.. почему RelativeLayout возвращает не ссылку на TextView, а null? @Override public Dialog...

Геокодирование. getFromLocationName() возвращает null - Программирование Android
По адресу (город, улица, дом) пытаюсь получить координаты. С некоторых пор почти всегда getFromLocationName() возвращает null. Хотя ранее...

LruCache метод put возвращает null - Программирование Android
Всем привет! Не могу поянть почему LruCache метод put возвращает null. Может быть кто знает подскажет в чем тут дело? Вот код: public...

BitmapFactory.decodeFile всегда возвращает null - Программирование Android
Выбираю картинку с галереи, получаю полный путь к файлу, но BitmapFactory.decodeFile(filename) всегда возвращает null. Почему?

Null при вызове метода из другого класса - Программирование Android
Суть такая. Я создал приложение с двумя активити NavigationView (через стандартный конструктор Adroid Studio). В шапку NavView я вывожу...

FindViewById - Программирование Android
Назрел вопрос, почему в MainActivity мы пишем, например, ListView lvMain = (ListView) findViewById(R.id.lvMain); А в другом классе можно...

findViewById и Fragment - Программирование Android
Пытаюсь использовать getView().findViewById Но не работает

Какую роль выполняет findViewById в андроиде? - Программирование Android
ребята! подскажите пожалуйста, какую роль выполняет findViewById в андроиде? пример VideoView videoView =...

Скопировать view - Программирование Android
Привет. Как скопировать view(любой компонент от view) с одного layuot на другой без удаления, тоесть хочу создать клона только сменив...

Узнать размер view - Программирование Android
Как узнать размер view, если он лежит в layout, и обрезается им (размер view больше, чем размер layout). view.getHeight и...

Программное добавление View - Программирование Android
Доброго времени. Знаю что на эту тему много инфы, как на форуме так и на других ресурсах, но решения своей проблемы все же не нашел. суть...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,706
Завершенные тесты: 1
05.11.2015, 21:17     FindViewByID возвращает Null производного класса View #2
а если все таки в конструкторе который принимает два параметра вызывать не super(context);
а как и положено - super(context, attrs); ?
zuevmail
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 52
05.11.2015, 21:20  [ТС]     FindViewByID возвращает Null производного класса View #3
Огромное спасибо. Все Ок
Ответ Создать тему
Опции темы

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