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

Работа с фрагментами - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Возвращение функий двух значений http://www.cyberforum.ru/android-dev/thread1548235.html
Смотрите... У меня два числа, которые вещественные (могут быть). Я каждое (!) число разделил на два ArrayList то что до точки и после. Есть функция, которая складывает столбиком. Сначала мы должны складывать дробную часть, от неё мы должны вернуть ArrayList result и temp (если сложение чисел превышает sys - Систему счисления) и передать temp уже функции для сложения целой части. Вот я не...
Программирование Android Объявление static без имени Наткнулся на такой код: private static final UriMatcher uriMatcher; static { uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); uriMatcher.addURI(AUTHORITY, CONTACT_PATH, URI_CONTACTS); uriMatcher.addURI(AUTHORITY, CONTACT_PATH + "/#", URI_CONTACTS_ID); } Что значит такое объявление static(что такое static-я знаю)? Должно же идти имя метода, или класса, или... http://www.cyberforum.ru/android-dev/thread1548206.html
Уменьшение размера файла картинки Программирование Android
Как можно уменьшить размер файла (Картинки) ? Например на входе картинка весит 2мб, а после "манипуляций" должно остаться 100кб.. p.s. есть ли способ при котором максимально сохраняется качество...
Программирование Android HttpUrlConnetcion получение ответа от сервера
Всем привет, как то уже задавал вопрос про HttpUrlConnection, вроде разобрался с ним, но появилась еще одна проблема связанная с получением ответа от сервера. Есть задача, отправить серверу json файл и картинку. Код HttpURLConnection http = null; try { URL url = new URL("ссылка"); http = (HttpURLConnection) url.openConnection(); ...
Программирование Android Не определяется путь к SD карте http://www.cyberforum.ru/android-dev/thread1548094.html
Перепробовал все методы, указанные на этом форуме. Был на всех ветках, посвященных работой с картой памяти. (например, Путь к карте памяти Как получить путь к SD карте на ЛЮБОМ устройстве? Не отображаются маркеры на карте Получить путь к карте памяти (SD card) Нарисовать на карте ...) Ничего не выходит. Все дается путь к внутр памяти. Ниже привожу полный листинг (пробовал разные варианты)...
Программирование Android Написать число,и этому числу открыть кол-во вкладок Привет,прощу помощи >_> Вот код активити final EditText mEdit = (EditText) findViewById(R.id.edit); Button fab = (Button) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { a = Integer.parseInt(mEdit.getText().toString()); Intent intent =... подробнее

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

Работа с фрагментами - Программирование Android

09.10.2015, 16:17. Просмотров 233. Ответов 2
Метки (Все метки)

Здравствуйте! Имеется активити
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
86
87
package com.example.des.farmer;
 
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
 
import java.util.ArrayList;
import java.util.List;
 
public class OptimizedActivity extends AppCompatActivity {
    public static final String EXTRA_NAME = "optimized_name";
    
    private ViewPager mViewPager;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.optimized);
 
        Intent intent = getIntent();
        final String optimizedName = intent.getStringExtra(EXTRA_NAME);
 
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        // Create the adapter that will return a fragment for each of the three
        // primary sections of the activity.
       /* mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());*/
 
        // Set up the ViewPager with the sections adapter.
        mViewPager = (ViewPager) findViewById(R.id.container);
        if (mViewPager != null) {
            setupViewPager(mViewPager);
        }
       /* mViewPager.setAdapter(mSectionsPagerAdapter);*/
 
        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(mViewPager);
 
    }
 
    private void setupViewPager(ViewPager viewPager) {
        Adapter adapter = new Adapter(getSupportFragmentManager());
        adapter.addFragment(new TabMenStoimostActivity(), getString(R.string.menovayaStoimost));
        adapter.addFragment(new TabPerevodEnerdgyActivity(), getString(R.string.perevodEnerdgy));
        viewPager.setAdapter(adapter);
    }
 
 
    static class Adapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragments = new ArrayList<>();
        private final List<String> mFragmentTitles = new ArrayList<>();
 
        public Adapter(FragmentManager fm) {
            super(fm);
        }
 
        public void addFragment(Fragment fragment, String title) {
            mFragments.add(fragment);
            mFragmentTitles.add(title);
        }
 
        @Override
        public Fragment getItem(int position) {
            return mFragments.get(position);
        }
 
        @Override
        public int getCount() {
            return mFragments.size();
        }
 
        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitles.get(position);
        }
 
    }
 
 
}
И Фрагмент
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package com.example.des.farmer;
 
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.RadioGroup;
 
public class TabPerevodEnerdgyActivity extends Fragment {
    private int selectedDgId;
    private int selectedKalId;
    private double otvet1;
    private double otvet2;
    private double otvet3;
    private double dg;
    private double kal;
    private EditText etKal;
    private EditText etDg;
    private EditText etKormEd;
    private TextInputLayout tilDg;
    private TextInputLayout tilKal;
    private TextInputLayout tilKormEd;
 
    public TabPerevodEnerdgyActivity() {
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView =  inflater.inflate(R.layout.content_tab_perevod_enerdgy, container, false);
 
        RadioGroup rgDg = (RadioGroup)rootView.findViewById(R.id.rgDg);
        tilDg = (TextInputLayout) rootView.findViewById(R.id.tilDg);
        etDg = (EditText) tilDg.findViewById(R.id.etDg); //Определяем тектовое поле для ввода значения ДЖ
 
        selectedDgId = rgDg.getCheckedRadioButtonId(); //временная переменная для хранения ID выбронной кнопки ДЖ
 
        RadioGroup rgKal = (RadioGroup)rootView.findViewById(R.id.rgKal);
        tilKal = (TextInputLayout) rootView.findViewById(R.id.tilKal);
        etKal = (EditText)tilKal.findViewById(R.id.etKal); //Определяем тектовое поле для ввода значения Калорий
 
        selectedKalId = rgKal.getCheckedRadioButtonId(); //временная переменная для хранения ID выбронной кнопки Калорий
 
        tilKormEd = (TextInputLayout) rootView.findViewById(R.id.tilKormEd);
        etKormEd = (EditText)tilKormEd.findViewById(R.id.etKormEd); //Определяем тектовое поле для ввода значения Кормовых единиц
 
 
        rgDg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
 
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // TODO Auto-generated method stub
 
                if (TextUtils.isEmpty(etDg.getText())){
                    return;
                }
                final double resultDg = Double.parseDouble(etDg.getText().toString());//Парсим введенное значение в поле Дж
                switch (checkedId) {
 
                    case R.id.rbDg:
 
                        if (selectedDgId == R.id.rbMdg) {
                            etDg.setText("" + resultDg * 1000000);
                        } else if (selectedDgId == R.id.rbKdg) {
                            etDg.setText("" + resultDg * 1000);
                        }
                        break;
                    case R.id.rbKdg:
 
                        if (selectedDgId == R.id.rbMdg) {
                            etDg.setText("" + resultDg * 1000);
                        } else if (selectedDgId == R.id.rbDg) {
                            etDg.setText("" + resultDg / 1000);
                        }
                        break;
                    case R.id.rbMdg:
 
                        if (selectedDgId == R.id.rbDg) {
                            etDg.setText("" + resultDg / 1000000);
                        } else if (selectedDgId == R.id.rbKdg) {
                            etDg.setText("" + resultDg / 1000);
                        }
                        break;
                    default:
                        break;
                }
            }
        });
 
        rgKal.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
 
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // TODO Auto-generated method stub
                if (TextUtils.isEmpty(etKal.getText())){
                    return;
                }
                final double resultKal = Double.parseDouble(etKal.getText().toString());//Парсим введенное значение в поле Калорий
                switch (checkedId) {
                    case R.id.rbKal:
                        if (selectedKalId==R.id.rbKKal) {
                            etKal.setText("" + resultKal *1000);
                        }
                        break;
                    case R.id.rbKKal:
                        if (selectedKalId==R.id.rbKal){
                            etKal.setText(""+resultKal/1000);
                        }
                        break;
                    default:
                        break;
                }
            }
        });
 
        return rootView;
    }
 
}
Так вот у меня не получается во фрагменте сделать обработку событий кнопкам. Просто в активити все хорошо работает. Помогите понять как это делается во фрагменте

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
 public void onClearResult (View v){ // Очищаем ве поля
        etDg.setText(null);
        etKormEd.setText(null);
        etKal.setText(null);
        tilDg.setHint(getString(R.string.inputZnachenie));
        tilKal.setHint(getString(R.string.inputZnachenie));
        tilKormEd.setHint(getString(R.string.inputZnachenie));
 
    }
    public double Dgoul (double dg){
        if (selectedDgId==R.id.rbMdg){
            dg = otvet1;
        } else if (selectedDgId==R.id.rbKdg){
            dg = otvet1/1000;
        } else if (selectedDgId==R.id.rbDg){
            dg = otvet1/1000000;
        }
        return dg;
    }
    public double Kalori (double kal){
        if (selectedKalId==R.id.rbKKal){
            kal = otvet2;
        } else if (selectedKalId==R.id.rbKal){
            kal = otvet2/1000;
        }
        return kal;
    }
    public void onClickResult (View v) //Обрабатываем нажатие клавиши расчета
    {
        tilKal = (TextInputLayout) findViewById(R.id.tilKal);
        if (etDg.getText().length()==0 && etKal.getText().length()==0 && etKormEd.getText().length()==0){
        Toast.makeText(getApplicationContext(),"Я не знаю что считать! Введите значение в одно из полей!",Toast.LENGTH_LONG).show();
    }else
                if (etDg.getText().length()>0 && etKal.getText().length()==0 && etKormEd.getText().length()==0){
                    otvet1 = Double.parseDouble(etDg.getText().toString()); // Парсим зничение ДЖ
                    etKal.setText(""+ String.format("%.7f",Dgoul(dg)*238.8459));
                    etKormEd.setText(""+String.format("%.7f",Dgoul(dg)/5.9201352));
                    tilKal.setHint(getString(R.string.youResult));
                    tilKormEd.setHint(getString(R.string.youResult));
 
                }else if (etKal.getText().length()>0 && etDg.getText().length()==0 && etKormEd.getText().length()==0){
                    otvet2 = Double.parseDouble(etKal.getText().toString()); // Парсим значение Калорий
                    etDg.setText(""+String.format("%.7f",Kalori(kal)*0.0041868));
                    etKormEd.setText(""+String.format("%.7f",Kalori(kal)/1414));
                    tilDg.setHint(getString(R.string.youResult));
                    tilKormEd.setHint(getString(R.string.youResult));
 
                }else if (etKormEd.getText().length()>0 && etDg.getText().length()==0 && etKal.getText().length()==0){
                    otvet3 = Double.parseDouble(etKormEd.getText().toString()); // Парсим значение Кормовых единиц
                    etDg.setText(""+otvet3*5.9201352);
                    etKal.setText(""+otvet3*1414);
                    tilKal.setHint(getString(R.string.youResult));
                    tilDg.setHint(getString(R.string.youResult));
                }
 
    }
 
    public void onClickRadioSelectDg (View v)//Слушаем и записываем занчение ID кнопки в переменную (для ДЖ)
    {
        selectedDgId = v.getId();
 
    }
    public void onClickRadioSelectKal (View v)//Слушаем и записываем занчение ID кнопки в переменную (для Калорий)
    {
        selectedKalId = v.getId();
 
    }
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru