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

Вызов функций из класса - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android C++ Qt и java Android отправка SMS http://www.cyberforum.ru/android-dev/thread1799350.html
Здравствуйте. Уже пол года мучаю Qt увидел в настройках компиляцию под Android и решил попробовать. Установил Linux и Qt c SDK, NDK, ANT. Все заработало . теперь хочу отправить СМС на номер из своего приложения , только вот засада, в java я ноль. хотя не страшно все понятно, си подобный же ))). Ну значит давай я искать примеры а пред этим прочитал вот это...
Программирование Android Чтение и запись данных в локальную БД SQLite Есть вот такой класс для работы локальной работы с БД. package com.tanatix.checkinternetresourceschanges; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.provider.BaseColumns; import android.util.Log; http://www.cyberforum.ru/android-dev/thread1799337.html
File provider IllegalArgumentException Программирование Android
Сейчас изучаю материалы тут. Вот мой класс выбора файла public class FileSelectActivity extends AppCompatActivity { private ListView listView; // The path to the root of this app's internal storage private File mPrivateRootDir; // The path to the "images" subdirectory
Запись выходящего звонка "android.intent.action.NEW_OUTGOING_CALL" Программирование Android
Использую бродкаст : if (intent.getAction().equals(ACTION_OUT)) { Log.i("MyMsg", "4"+ intent.getAction()); if ((bundle = intent.getExtras()) != null) { outCall = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); Log.i("MyMsg", " out "+outCall); Boolean start_or_no = new...
Программирование Android Не могу запустить эмулятор Андроида на Windows 7 http://www.cyberforum.ru/android-dev/thread1799164.html
Здравствуйте всем! Исходные данные: Комп с Windows 7 (Intel Celeron, 2 Гб ОЗУ). Версия Java - 1.8.0_20. В переменных среды (системные переменные) в Path стоит путь до Java (C:\Program Files\Java\jdk1.8.0_05\bin). Установлен Android SDK (Android 7.0, API 24 и Android 4.4.2, API 19) В пользовательской переменной Windows стоит ANDROID_SDK_HOME (C:\Users\User\.android). Запускаю Android...
Программирование Android Добавить сторонний edittext Пытаюсь добавить библиотеку showhidepasswordedittext в свой проект. Gradle выдает ошибку сборки. Project gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } подробнее

Показать сообщение отдельно
addgoo
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 6

Вызов функций из класса - Программирование Android

27.08.2016, 13:21. Просмотров 216. Ответов 12
Метки (Все метки)

Добрый день, позавчера стал изучать программирование для андроид и столкнулся с не понятной для меня вещью, и хочу сразу разобраться, что тут не так.
Учусь программировать на AndroidStudio.

Создаю тестовую Activity в которой просто находится кнопка Button . План такой, при её нажатии должна вызваться функция create_menu , из другого Класса, не относящегося к данной Activity (находящиеся в отдельном файле).
Так вот, в другом классе, пытаются получить идентификаторы кнопок, и при данной попытке, происходит краш. Null pointer. А в дебаг сообщених, выводится
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.olololo.first/com.olololo.first.Main_First_Activity}: java.lang.NullPointerException
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
////////////////////////////////////////// начало файла Activity
    public static Main_menu menu;  // статическая константа для сформированного меню
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main__first_);
 
        /* создание меню */
        if(create_menu() == false)  return;
        
    }
 
 
    boolean create_menu()
    {
      /* выделяем память для меню */
      menu = new Main_menu();
 
      /* инициализация меню */
      if(menu.init() == false) return false;  // в метод инит код попадает, но далее при вызове findViweById происходит исключение
 
        return true;
    }
///////////////////////////////////////////////////// Конец файла Activity
 
///////////////////////////////////////////////////// Начало файла Main_Menu.java
package Ololo_first;
 
 
public class Main_menu extends AppCompatActivity  implements View.OnClickListener {
 
  public Button start_button;
 
  public boolean init()
  {
    start_button = (Button) findViewById(R.id.button_id); // <------------------------------------------------------- тут происходит краш!!!!! (хотя если это действие делать в активити, то краша нет)
    return false;
  }
}
Manifest
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.olololo.first">
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".Main_Activity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            
        </activity>
    </application>
 
</manifest>
Почему получается Ошибка? и как обращаться к своим классам? (я разбиваю программу на свои классы, для упрощения разработки)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru