Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 86
#1

Не отрабатывает MainActivity - Программирование Android

18.04.2017, 22:27. Просмотров 196. Ответов 2
Метки нет (Все метки)

Здравствуйте!
В общем, в моем приложении есть два Frament и Main Activity. В Main Activity прописано меню Navigation Drawer, а фрагменты это вкладки, вот в 1 из фрагментов есть функционал, он обрабатывает показатели акселерометра, до того как я написал этот фрагмент, меню нормально работало, переходило по вкладкам и т.д, как написал функционал фрагмента, все что было написано в MainActivity перестало работать (т.е меню не работает)!
Подскажите пожалуйста в чем может быть проблема и как ее исправить?? Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2017, 22:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не отрабатывает MainActivity (Программирование Android):

MainActivity AsyncTask - Программирование Android
Добрый вечер. Ребята тут небольшая проблема. Мне нужно Заполнить NavigatorDrawer (из базы). Почему когда я пытаюсь в...

Переделать MainActivity в Fragment - Программирование Android
Всем добра, друзья. Подскажите. Приложение работает со сторонним SDK. Создал проект Navigation Drawer Activity. Не могу найти, как...

Notification - запуск MainActivity - Программирование Android
Здравствуйте! Есть Service который посылает запрос, парсит страницу и выводит notification. При нажатии на него открывается моя...

Доступ к полям MainActivity - Программирование Android
Добрый день, что-то не могу сообразить, как получить доступ к полям MainActivity из другого класса ? обычно доступ к полям через объект...

Не создается MainActivity.java - Программирование Android
Подскажите почему не создается форма по умолчанию?

Обращение к функции находящейся не в MainActivity - Программирование Android
Доброго времени суток! Имеется MainActivity.java и HybridMap.java. Мне необходимо при нажатии кнопки обратиться к процедуре в HybridMap....

2
korshun84
28 / 83 / 19
Регистрация: 08.07.2014
Сообщений: 455
19.04.2017, 07:42 #2
Извини, братан, сегодня свой магический шар дома забыл, поэтому код твой увидеть не смогу, до завтра потерпит ?
0
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 86
19.04.2017, 15:31  [ТС] #3
Нее, надо сегодня)

Вот код:
MainActivity
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
import android.support.design.widget.NavigationView;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
 
public class MainActivity extends AppCompatActivity {
    DrawerLayout drawerLayout;
    Toolbar toolbar;
    ActionBarDrawerToggle actionBarDrawerToggle;
    FragmentTransaction fragmentTransaction;
    NavigationView navigationView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar=(Toolbar)findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        drawerLayout=(DrawerLayout)findViewById(R.id.drawer_layout);
 
        actionBarDrawerToggle=new ActionBarDrawerToggle(this, drawerLayout, toolbar,R.string.drawer_open, R.string.drawer_close);
        drawerLayout.setDrawerListener(actionBarDrawerToggle);
        fragmentTransaction=getSupportFragmentManager().beginTransaction();
        fragmentTransaction.add(R.id.main_container,new AccelerationFragment());
        fragmentTransaction.commit();
        getSupportActionBar().setTitle("Acceleration");
        navigationView = (NavigationView) findViewById(R.id.navigation_view);
        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener(){
            @Override
            public boolean onNavigationItemSelected(MenuItem item) {
                switch (item.getItemId())
                {
                    case R.id.acceleration:
                        fragmentTransaction=getSupportFragmentManager().beginTransaction();
                        fragmentTransaction.replace(R.id.main_container,new AccelerationFragment());
                        fragmentTransaction.commit();
                        getSupportActionBar().setTitle("Acceleration");
                        item.setChecked(true);
                        drawerLayout.closeDrawers();
                        break;
                    case R.id.deceleration:
                        fragmentTransaction=getSupportFragmentManager().beginTransaction();
                        fragmentTransaction.replace(R.id.main_container,new Deceleration());
                        fragmentTransaction.commit();
                        getSupportActionBar().setTitle("Deceleration");
                        item.setChecked(true);
                        drawerLayout.closeDrawers();
                        break;
                 }
 
                return true;
 
            }
        });
 
    }
    @Override
    protected void onPostCreate(Bundle savedInstanceState)
    {
        super.onPostCreate(savedInstanceState);
        actionBarDrawerToggle.syncState();
    }
 
}
Fragment
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;
import java.util.ArrayList;
import java.util.List;
 
 
/**
 * A simple {@link Fragment} subclass.
 */
public class AccelerationFragment extends Fragment implements SensorEventListener {
 
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
 
       View v=  inflater.inflate(R.layout.fragment_acceleration, container, false);
        mForceValueText = (TextView) v.findViewById(R.id.value_force);
        mXValueText = (TextView) v.findViewById(R.id.value_x);
        mYValueText = (TextView) v.findViewById(R.id.value_y);
        mZValueText = (TextView) v.findViewById(R.id.value_z);
 
        mStartButton = (Button) v.findViewById(R.id.button_start);
        mShowButton = (Button) v.findViewById(R.id.button_show);
        return v;
 
    }
 
    SensorManager mSensorManager;
    Sensor mAccelerometerSensor;
    Sensor mMagneticFieldSensor;
 
    TextView mForceValueText;
    TextView mXValueText;
    TextView mYValueText;
    TextView mZValueText;
 
    double margins[] = {0, 0};
 
    Button mStartButton;
    Button mShowButton;
 
    List<List<Double>> mValues;
    boolean mIsRecording = false;
 
    OnClickListener mStartButtonListener = new OnClickListener() {
 
        @Override
        public void onClick(View v) {
            mIsRecording = !mIsRecording;
            if (mIsRecording) {
                mValues.get(SensorManager.DATA_X).clear();
                mValues.get(SensorManager.DATA_Y).clear();
                mValues.get(SensorManager.DATA_Z).clear();
                margins[0] = 0;
                margins[1] = 0;
            }
        }
    };
 
 
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActivity().setContentView(R.layout.activity_main);
 
        mValues = new ArrayList<List<Double>>();
        mValues.add(new ArrayList<Double>());
        mValues.add(new ArrayList<Double>());
        mValues.add(new ArrayList<Double>());
 
        mSensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE);
        List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
        if (sensors.size() > 0) {
            for (Sensor sensor : sensors) {
                switch (sensor.getType()) {
                    case Sensor.TYPE_ACCELEROMETER:
                        if (mAccelerometerSensor == null) mAccelerometerSensor = sensor;
                        break;
                    case Sensor.TYPE_MAGNETIC_FIELD:
                        if (mMagneticFieldSensor == null) mMagneticFieldSensor = sensor;
                        break;
                    default:
                        break;
                }
            }
        }
 
 
 
 
    }
 
    @Override
    public void onPause() {
        mSensorManager.unregisterListener(this);
        super.onPause();
 
    }
 
    @Override
    public void onResume() {
        super.onResume();
        mSensorManager.registerListener(this, mAccelerometerSensor, SensorManager.SENSOR_DELAY_GAME);
        mSensorManager.registerListener(this, mMagneticFieldSensor, SensorManager.SENSOR_DELAY_GAME);
    }
 
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
    }
 
    @Override
    public void onSensorChanged(SensorEvent event) {
        float[] values = event.values;
        switch (event.sensor.getType()) {
            case Sensor.TYPE_ACCELEROMETER: {
                if (mIsRecording) {
                    recordSensorValue(event);
                }
 
                mXValueText.setText(String.format("%1.3f", event.values[SensorManager.DATA_X]));
                mYValueText.setText(String.format("%1.3f", event.values[SensorManager.DATA_Y]));
                mZValueText.setText(String.format("%1.3f", event.values[SensorManager.DATA_Z]));
 
                double totalForce = 0.0f;
                totalForce += Math.pow(values[SensorManager.DATA_X] / SensorManager.GRAVITY_EARTH, 2.0);
                totalForce += Math.pow(values[SensorManager.DATA_Y] / SensorManager.GRAVITY_EARTH, 2.0);
                totalForce += Math.pow(values[SensorManager.DATA_Z] / SensorManager.GRAVITY_EARTH, 2.0);
                totalForce = Math.sqrt(totalForce);
                mForceValueText.setText(String.format("%1.3f", totalForce));
            }
            break;
        }
    }
 
    private void recordSensorValue(SensorEvent event) {
        double value;
        for (int i = SensorManager.DATA_X; i <= SensorManager.DATA_Z; i++) {
            value = (double) event.values[i];
            margins[0] = Math.min(margins[0], value);
            margins[1] = Math.max(margins[1], value);
            mValues.get(i).add(value);
        }
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2017, 15:31
Привет! Вот еще темы с ответами:

SplashScreen не дает запуститься MainActivity - Программирование Android
Здравствуйте!Есть предзагрузочная анимация в приложении и при запуске на эмуляторе все идет гладко. Решил запустить на телефоне,но тут...

OnClickListener не может вызвать метод с MainActivity - Программирование Android
В MainActivity в onClickListener я могу вызвать метод selectCardFromList: public class MainActivity extends AppCompatActivity { ...

Как запустить метод Fragment из MainActivity? - Программирование Android
есть фрагмент с картой, в нем метод: public void Sputnik(GoogleMap map) { ...

Как получить context MainActivity в Service? - Программирование Android
В MainActivity создаю сервис и startService( SER );, как получить context MainActivity в сервисе, чтобы можно было манипулировать view?


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

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

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