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

Передача данных из Activity в Fragment - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Есть ли возможность скроллить все представление вместе с изображением? http://www.cyberforum.ru/android-dev/thread1325618.html
Имеется фрагмент с представлением, которое не помещается полностью на экране, например, картинка и большой текст. Есть ли возможность скроллить все представление вместе с изображением. ScrollView может быть хостом только одного виджета. Конечно, можно написать новый виджет, но может есть стандартные средства?
Android Android Studio 1.0, не получается скомпилировать новосозданный проект Waiting for device. Target device: motorolа Uploading file local path: C:\Users\nilamop\AndroidStudioProjects\test2\app\build\outputs\apk\app-debug.apk remote path: /data/local/tmp/com.example.nilamop.test2 Local path doesn't exist. Как с этим бороться? Пишут в нете что при компиляции создаются файла арк два: app-debug.apk and app-debug-unaligned.apk и находятся в папке... http://www.cyberforum.ru/android-dev/thread1325556.html
Android База данных для интернет-приложения
Здравствуйте, я новенький в разработке, и у меня есть вопросы? Какую базу данных используем в интернет приложения? Вот например, мы используем в обычных приложениях SQLite, и запросы пишем в коде там же, а что насчет интернет приложений? Где можно хранить базу данных, и как запросы писать, как обновляются данные каждый день? Как искать ответы в интернете(гугле), не знаю что и написать?
Android Кто-то сможет обьяснить зачем нужно intent::SetAction?
Что это за префикс откуда и куда его пихать.
Android Программа для блокировки номера http://www.cyberforum.ru/android-dev/thread1324942.html
тов. программисты, прошу вашей помощи, облазил все дебри инета и ничё не нашел. мне надо какую нибудь маленькую и простую програмку для телефона LENOVO андроид 4.2.1 чтоб заблокировать всего 1 номер, как входящий так и исходящий вызов и смс так же, можете мне помочь ??? ( может сами такую напишите ?? ) помогите плиз )))
Android Textview занимать всю площадь layout Добрый день! Есть textview и button. Нужно что бы тест был слева, а кнопка справа от текста. Так же необходимо выронять все это по центру(как по вертикали, так и горизонтали). Если текст большой, то кнопку нужно центрировать по вертикали. Прилагаю следеющий код. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ... подробнее

Показать сообщение отдельно
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 99

Передача данных из Activity в Fragment - Android

10.12.2014, 14:36. Просмотров 2022. Ответов 4
Метки (Все метки)

Есть основной класс (puplic class ViewContact) в котором есть фрагменты (public static class MainFragment extends Fragment), есть база контактов, ID строки выбранного контакта приходит в ViewContact, а отобразиться данные должны в фрагменте MainFragment, но ошибка в том, что фрагмент static... вообщем ошибка такая "Cannot make a static reference to the non-static field hightTextView" со всеми TextView'ами в фрагменте... Как решить проблему?

Кликните здесь для просмотра всего текста
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
public class ViewContact extends Activity {
    
    FrameLayout container;
    FragmentManager myFragmentManager;
    MainFragment Main;
    LightFragment Light;
    RegimeFragment Regime;
    final static String TAG_1 = "FRAGMENT_1";
    final static String TAG_2 = "FRAGMENT_2";
    final static String TAG_3 = "FRAGMENT_3";
    final static String KEY_MSG_1 = "FRAGMENT1_MSG";
    final static String KEY_MSG_2 = "FRAGMENT2_MSG";
    final static String KEY_MSG_3 = "FRAGMENT3_MSG";
    
        private long rowID; // ключ для передачи в другую активность
        private TextView nameTextView; 
        
        private TextView lenghtTextView; // номер телефона контакта
        private TextView weightTextView; // email 
        private TextView hightTextView; // 
        private TextView volumeTextView; //
        private TextView dateTextView;
        
        private TextView lightTextView;
        private TextView doplightTextView;
        
        private TextView fishTextView;
        private TextView plantTextView;
        
        private TextView temperatureTextView;
        private TextView acidTextView;
        private TextView hardnessTextView;
        
        private TextView photodirTextView;
        
        String photodir;
        String myJpgPath;
        
        private ImageView AqImage;
        protected Context context;
 
    // класс для первого фрагмента
    public static class MainFragment extends Fragment {
 
        TextView textMsg;
        
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.view_contact, null);
            textMsg = (TextView) view.findViewById(R.id.tvMessage);
            
        Bundle bundle = getArguments();
        if (bundle != null) {
            String msg = bundle.getString(KEY_MSG_1);
            if (msg != null) {
                textMsg.setText(msg);
            }
        }
        return view;
    }
 
    public void setMsg(String msg) {
        textMsg.setText(msg);
    }
        
        private class HelloWebViewClient extends WebViewClient 
        {
            public boolean shouldOverrideUrlLoading(WebView view, String url) 
            {
                view.loadUrl(url);
                return true;
            }
        }
     // использование объекта типа Cursor, возвращаемого методом
            // doInBackground
            protected void onPostExecute(Cursor result) {
                super.onPostExecute(result);
 
                result.moveToFirst(); // перемещение к первому элементу
 
                // получение индекса столбца для каждого элемента данных
                int nameIndex = result.getColumnIndex("name");
                
                int lenghtIndex = result.getColumnIndex("lenght");
                int weightIndex = result.getColumnIndex("weight");
                int hightIndex = result.getColumnIndex("hight");
                int volumeIndex = result.getColumnIndex("volume");
                int dateIndex = result.getColumnIndex("date");
                
                int lightIndex = result.getColumnIndex("light");
                int doplightIndex = result.getColumnIndex("doplight");
                
                int fishIndex = result.getColumnIndex("fish");
                int plantIndex = result.getColumnIndex("plant");
                
                int temperatureIndex = result.getColumnIndex("temperature");
                int acidIndex = result.getColumnIndex("acid");
                int hardnessIndex = result.getColumnIndex("hardness");
                int photodirIndex = result.getColumnIndex("photodir");
 
                // заполнение компонентов TextViews выбранными данными
                nameTextView.setText(result.getString(nameIndex));
                
                lenghtTextView.setText(result.getString(lenghtIndex));
                weightTextView.setText(result.getString(weightIndex));
                hightTextView.setText(result.getString(hightIndex));
                volumeTextView.setText(result.getString(volumeIndex));
                dateTextView.setText(result.getString(dateIndex));
                
                lightTextView.setText(result.getString(lightIndex));
                doplightTextView.setText(result.getString(doplightIndex));
                
                fishTextView.setText(result.getString(fishIndex));
                plantTextView.setText(result.getString(plantIndex));
                
                temperatureTextView.setText(result.getString(temperatureIndex));
                acidTextView.setText(result.getString(acidIndex));
                hardnessTextView.setText(result.getString(hardnessIndex));
                
                ....................
 
                result.close(); // закрытие курсора результата
                databaseConnector.close(); // закрытие подключения к базе данных
                }
            
    }
    // класс для второго фрагмента
    
    .........................
    
    // класс для третьего фрагмента
    public static class RegimeFragment extends Fragment {
 
        ...............................
 
    // метод основной активности
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.bar);
 
        container = (FrameLayout) findViewById(R.id.container);
 
        Button button1 = (Button) findViewById(R.id.button1);
        Button button2 = (Button) findViewById(R.id.button2);
        Button button3 = (Button) findViewById(R.id.button3);
        
        button1.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View arg0) {
 
                LightFragment fragment = (LightFragment) myFragmentManager.findFragmentByTag(TAG_1);
 
                if (fragment == null) {
 
                    Bundle bundle = new Bundle();
                    bundle.putString(KEY_MSG_1, "Последние новости");
                    Main.setArguments(bundle);
 
                    FragmentTransaction fragmentTransaction = myFragmentManager
                            .beginTransaction();
                    fragmentTransaction.replace(R.id.container, Main,
                            TAG_1);
                    fragmentTransaction.commit();
 
                } else {
                    fragment.setMsg("Вы уже на вкладке последние новости");
                }
            }
        });
 
        button2.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View arg0) {
 
                ..................
        });
 
        button3.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View arg0) {
 
                .................................
 
        myFragmentManager = getFragmentManager();
        Main = new MainFragment();
        Light = new LightFragment();
        Regime = new RegimeFragment();
 
        if (savedInstanceState == null) {
            // при первом запуске программы
            FragmentTransaction fragmentTransaction = myFragmentManager
                    .beginTransaction();
            // добавляем в контейнер при помощи метода add()
            fragmentTransaction.add(R.id.container, Main, TAG_1);
            fragmentTransaction.commit();
        }
    }
    @Override
    protected void onResume() {
        super.onResume();
 
        // создание нового класса LoadContactTask и вызов его
        new LoadContactTask().execute(rowID);
    }
 
    // выполняет запрос к базе данных за пределами потока GUI
    private class LoadContactTask extends AsyncTask<Long, Object, Cursor> {
        DatabaseConnector databaseConnector = new DatabaseConnector(
                ViewContact .this);
 
        // выполнение доступа к базе данных
        @Override
        protected Cursor doInBackground(Long... params) {
            databaseConnector.open();
 
            // получение курсора, содержащего все данные выбранной записи
            return databaseConnector.getOneAquarium(params[0]);
        }
 
        // использование объекта типа Cursor, возвращаемого методом
        // doInBackground
        @Override
        protected void onPostExecute(Cursor result) {
            super.onPostExecute(result);
 
            result.moveToFirst(); // перемещение к первому элементу
 
            // получение индекса столбца для каждого элемента данных
            int nameIndex = result.getColumnIndex("name");
            
            int lenghtIndex = result.getColumnIndex("lenght");
            int weightIndex = result.getColumnIndex("weight");
            int hightIndex = result.getColumnIndex("hight");
            int volumeIndex = result.getColumnIndex("volume");
            int dateIndex = result.getColumnIndex("date");
            
            int lightIndex = result.getColumnIndex("light");
            int doplightIndex = result.getColumnIndex("doplight");
            
            int fishIndex = result.getColumnIndex("fish");
            int plantIndex = result.getColumnIndex("plant");
            
            int temperatureIndex = result.getColumnIndex("temperature");
            int acidIndex = result.getColumnIndex("acid");
            int hardnessIndex = result.getColumnIndex("hardness");
            int photodirIndex = result.getColumnIndex("photodir");
 
            // заполнение компонентов TextViews выбранными данными
            nameTextView.setText(result.getString(nameIndex));
            
            lenghtTextView.setText(result.getString(lenghtIndex));
            weightTextView.setText(result.getString(weightIndex));
            hightTextView.setText(result.getString(hightIndex));
            volumeTextView.setText(result.getString(volumeIndex));
            dateTextView.setText(result.getString(dateIndex));
            
            lightTextView.setText(result.getString(lightIndex));
            doplightTextView.setText(result.getString(doplightIndex));
            
            fishTextView.setText(result.getString(fishIndex));
            plantTextView.setText(result.getString(plantIndex));
            
            temperatureTextView.setText(result.getString(temperatureIndex));
            acidTextView.setText(result.getString(acidIndex));
            hardnessTextView.setText(result.getString(hardnessIndex));
            
            photodir = String.valueOf(photodirIndex);
            
            myJpgPath = result.getString(photodirIndex); //путь к картинке. У вас будет свой
            
            BitmapFactory.Options options = new BitmapFactory.Options();
            options.inSampleSize = 2;
            Bitmap bm = BitmapFactory.decodeFile(myJpgPath, options);
            AqImage.setImageBitmap(bm);
            
            photodirTextView.setText(result.getString(photodirIndex));
 
            result.close(); // закрытие курсора результата
            databaseConnector.close(); // закрытие подключения к базе данных
        }
        
    }
       ....................
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru