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

Fragment should provide a default constructor (a public constructor with no arguments) - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android По нажатию не открывается МЕНЮ http://www.cyberforum.ru/android-dev/thread1521189.html
Почему может не срабатывает openOptionsMenu ? А кнопка "меню" устройства работает... package sлджтл; import android.app.Activity; import android.content.Context; import android.content.pm.FeatureInfo; import android.os.Bundle;
Android Обработка нескольких Spinner в Android Studio Добрый день! Я только начинаю разбираться с программирование и назрел такой вопрос: в активити есть 3 Spinner. Допустим 1 - марка авто (mark), 2 - модель авто (model), 3 - модификация (mod). Смысл такой что при выборе марки авто должен заполняться данными 2 Spinner (model), и соответственно при выборе модели должен заполняться 3 Spinner модификация и уже от туда в зависимости от выбора получать... http://www.cyberforum.ru/android-dev/thread1521172.html
На счет ImageView Android
Ребят, очень важный вопрос: Предложим у меня есть две картинки у них есть свои ID, как написать проверку - "Есть ли выше одной картинки другая картинка", т.е если есть выше одной картинки картинка с определенным id то выполняться действие, буду очень благодарен за помощь, думаю код будет сложный.
Как запретить использовать Scroll руками? Android
Ребят нужна помощь, я создал стандартный горизонтальный ScrollView, но управляю им через методы ScrollTo, вопрос в том: Как запретить использовать Scroll руками (пальцем), т.е запретить передвигать его, заранее спасибо.
Android Yandex mapkit и другие http://www.cyberforum.ru/android-dev/thread1521035.html
Здравствуйте. Нужно встроить в приложение карту для наглядного местоположения какого либо объекта, зная его координаты (карта должна быть бесплатная) . Попробовал использовать yandex mapkit но документации нормальной так и не нашел, да есть простейшие примеры но это слишком мало для такого интересного продукта. Подскажите может ссылку на документацию или может какие то еще есть карты для...
Android Как из вспышки сделать команду sos Подскажите ,где можно найти тему ,как из вспышки сделать команду sos ну или просто чтоб мигала? подробнее

Показать сообщение отдельно
zoleg
14 / 14 / 1
Регистрация: 10.01.2012
Сообщений: 138

Fragment should provide a default constructor (a public constructor with no arguments) - Android

28.08.2015, 13:52. Просмотров 219. Ответов 0
Метки (Все метки)

Все работало нормально в Эклипсе, но после переезда на Андроид Студио рвботает на эмуляторах, но при попытке создать релиз ругается на messageController, мол не хочет принимать значения, и предлагает использовать дефолтный конструктор.
Как оно вообще должно выглядеть. Подскажите (нубу в java), как оно должно быть написано.
Пока оно так:

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
public class loginActivity extends Activity implements OnClickListener, messageController.OnDismissListener {
    SharedPreferences sPref;
    Editor ed;
    CheckBox local;
    Bundle args;
    messageController msg;
    EditText login, pass;
    formController form;
    Button btnLogin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        msg = new messageController(this);
        form = new formController(this);
        sPref = getSharedPreferences("monopoly", MODE_PRIVATE);// check monopoly
        setContentView(R.layout.local_login_activity);
        local = (CheckBox) findViewById(R.id.monopoly);
        local.setChecked(sPref.getBoolean("monopoly", false));
        login = (EditText) findViewById(R.id.editCallsign);
        pass = (EditText) findViewById(R.id.editPassword);
        btnLogin = (Button) findViewById(R.id.buttonLogin);
        btnLogin.setOnClickListener(this);
        super.onCreate(savedInstanceState);
    }
    @Override
    public void onClick(View v) {
        String userLogin, userPass;
        userLogin = login.getText().toString();
        userPass = pass.getText().toString();
        switch (v.getId()) {
            case R.id.buttonLogin:
                args = new Bundle();
                if (userLogin.isEmpty() | userPass.isEmpty()) { //проверяем пусты ли поля
                    args.putInt("type", 2); // put args (show dialog with one button "OK")
                    args.putInt("msg", 0); // put args (body message)
                    msg.setArguments(args);
                    msg.show(getFragmentManager(), "ema");
                    Log.w(getResources().getString(R.string.tag), "поля пусты");
                    break;
                }
                ed = sPref.edit(); //set mode monopoly
                ed.putBoolean("monopoly", local.isChecked());
                ed.commit();
                if (form.db.checkLogin(userLogin, userPass) != 0)
                    form.showForm(2, this, ""); //rewrite to startWork.class
                else {
                    // not exist user or invalid username an password
                    args.putInt("type", 2); // put args (show dialog with one button "OK")
                    args.putInt("msg", 1); // put args (body message)
                    msg.setArguments(args);
                    msg.show(getFragmentManager(), "ema");
                }
                break;
        }
    }
    @Override
    public void OnDismissListener(int res) {
        // TODO Auto-generated method stub
    }
}
А это то на что Студио ругается:

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
public class messageController extends DialogFragment implements OnClickListener {
    AlertDialog.Builder adb;//нативный компонент, показывающий окошки пользователю
    int type, msg;//type - тип окошка(с одной кнопкой или тремя), msg - сообщения для пользователя, хранится в String.xml
    private int res = -1;//необходим для вывода результата
    String[] message;//массив самих сообщений
    String tag;//используется для отладочной информации
    private OnDismissListener mCallback;//чтобы мы могли узнать, что выбрал пользователь
    private soundController sound;//контроллер звуков
    private Context context;//необходимый контекст для работы
    public messageController(Context cnt){
        sound = new soundController(cnt);
    }
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        //tag = getResources().getString(R.string.tag);
        //message = getResources().getStringArray(R.array.msg);
        //get args
        super.onCreate(savedInstanceState);
        type = getArguments().getInt("type");//получем тип окошка (одна кнопка или три)
        msg = getArguments().getInt("msg");//получаем id сообщения, который хранится в String.xml
        //set title and body for message
        adb = new AlertDialog.Builder(getActivity())
                .setTitle(R.string.warning)//устанавливаем заголовок сообщения
                .setMessage(message[msg]);//устанавливаем тело сообщения
        switch(type){
            case 1:    //добавляем три кнопки для сообщения
                adb.setPositiveButton(R.string.yes, this)
                        .setNegativeButton(R.string.no, this)
                        .setNeutralButton(R.string.cancel, this);
                break;
            case 2:    //добавляем одну кнопку для сообщения
                adb.setPositiveButton(R.string.ok, this);
                break;
            default:
                break;
        }
        sound.play(1);//проигрываем звук
        return adb.create();//показываем само сообщение
    }
    @Override
    public void onClick(DialogInterface Dialog, int i) {//узнаем на какую кнопку нажал пользователь
        switch(i){
            case -1:
                res = 1;
                break;
            case -2:
                res = 2;
                break;
            case -3:
                res = 0;
                break;
            default:
                break;
        }
        mCallback.OnDismissListener(res);
        res = -1;
    }
    public interface OnDismissListener {//необходимо для работы
        public void OnDismissListener(int res);
    }
    @Override
    public void onAttach(Activity activity) {//необходимо для работы
        super.onAttach(activity);
        mCallback = (OnDismissListener) activity;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru