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

Обработка физической кнопки в фрагменте - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Возможные сложности разработки под Android на Java: энергопотребление и перегрев http://www.cyberforum.ru/android-dev/thread1080231.html
Хотелось бы спросить у более опытных товарищей - с какими проблемами может столкнуться разработчик под Android на Java? Может мои страхи всем покажутся нубскими. Но лучше задать глупые вопросы, чем удариться лицом об асфальт. Для начала мои страхи 1. Можно ли делая приложение на Java случайно превратить телефон в кирпич? Спалить железо? Мне конечно кажется, что нет, т.к. все же...
Программирование Android Пересобрать взломаный APK Пытаюсь разобрать и пересобрать чужой APK утилитой jd-gui.exe . В результате получил кучу обсфуцированого кода который еще надо расшифровать, но хочу сначала просто запустить проект. И вдруг выяснил что все XML файлы в APK нечитабельные!!! узнаваемы только английские слова. Остальное - непечатные символы - null, FF... Чем можно открыть эти XML? Похоже что они просто сжаты, а не зашифрованы. Нужен... http://www.cyberforum.ru/android-dev/thread1080092.html
Программирование Android Горизонтальная прокрутка в completeTextView
Народ, подскажите, можно ли реализовать и как горизонтальную прокрутку в выпадающем списке? А то большинство записей длинноваты и не вмещаются на экран. Форма состоит из RelativeLayout помещенного в Scroll для вертикальной прокрутки.
вкладки Программирование Android
сделал ActionBar вкладки ActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); не как не пойму ,не могу разобраться как для каждой вкладки сделать свою активность(пробовал через интент он тупо переходит и пропадает бар сверху) как сделать ?можно пример Добавлено через 9 минут я читал что используются фрагменты, можно хотя бы маленький пример фрагмента + при выборе вкладки переход...
Программирование Android Фрагменты: сохранить и загрузить State http://www.cyberforum.ru/android-dev/thread1079635.html
Прошу пример эффективной работы со state фрагментов. Android 4.2.2. Из известных мне способов: 1. СОХРАНЕНИЕ: onSaveInstanceState, работает только при смене состояния родительской активити => не подходит ЗАГРУЗКА: onCreateView или onActivityCreated, работает 2.
Программирование Android Array в SharedPreferences Добрый вечер! Вопрос заключается в том, можно ли сохранить настройки приложения с помощью SharededPreferences в виде массива? Нужно сохранять данные, количество которых динамически меняется с созданием новых данных. То есть нужен массив, в который можно записать данные по данному приложению, и которые будут существовать и после закрытии приложения.... подробнее

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

Обработка физической кнопки в фрагменте - Программирование Android

24.01.2014, 12:14. Просмотров 2611. Ответов 10
Метки (Все метки)

День добрый!
Столкнулся с такой проблемой.
Есть фрагмент:
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
package com.example.navigationsample;
 
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.parser.Parser;
import org.jsoup.select.Elements;
 
 
import android.app.ProgressDialog;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TextView;
 
 
public class Page extends Fragment 
{
 
    public Integer Pos = null; 
    public String Raz = null; 
    public String URL = null; 
    public TextView tvTitle;
    public TextView tvCont;
    public ImageView ivImg;
    public WebView mWebView;
    public Map<String, String> ClicMap = new TreeMap<String, String>();
    public HtmlHelper Hcalss = new HtmlHelper();
    public Integer PageCounter; 
    private ProgressDialog pd;
    public TextView btnNext;
    public TextView btnBack; 
    final String mimeType = "text/html";
    final String encoding = "utf-8";
    public String Link = "";
    public String title = "";
    public String Dated = "";
    public String UrlImg = "";
    public String Strong = "";
    public String BodyH = "";   
    public Page(ArrayList<String> P)
    {
        Pos = Integer.valueOf(P.get(0));
        Raz = P.get(1);
    }   
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {
          View view = inflater.inflate(R.layout.page, null); 
                 mWebView = (WebView) view.findViewById(R.id.webview); 
                 mWebView.getSettings().setJavaScriptEnabled(true);
                 btnNext = (TextView) view.findViewById(R.id.next);  
                 btnBack = (TextView) view.findViewById(R.id.back);                  
                 Document xmlDoc = Jsoup.parse(Raz);               
                    Elements items = xmlDoc.select("item"); 
                    PageCounter = items.size();
                    Element item = items.get(Pos);              
                    for(Element b : item.select("guid"))
                    {
                        Link = Link + b.text();                 
                    }                       
                    
                     
                    for(Element b : item.select("title"))
                    {
                        title = title + b.text();                   
                    }   
                    
                    for(Element b : item.select("pubDate"))
                    {
                        Dated = Dated + b.text();                   
                    }   
                    Dated = Dated.replace("+0400", "");
                    
                    for(Element b : item.select("description"))
                    {
                        UrlImg = UrlImg + getInmgUrl(b.text());
                    }                   
                    
                    for(Element b : item.select("description"))
                    {
                        Strong = Strong + getStrong(b.text());
                    }                       
                    
                    
                    for(Element b : item.select("description"))
                    {
                        BodyH = BodyH + getBody(b.text());
                    }   
                    if(Pos == (PageCounter -1))
                    {
                        btnNext.setText("");
                        btnNext.setEnabled(false);
                    }
                    if(Pos == 0)
                    {
                        btnBack.setText("");
                        btnBack.setEnabled(false);              
                    }                   
                    String Body = "<img src=\""+ UrlImg + "\" />" + "<h1>" +  title +"</h1>" + "<p style=\"font-size: 85%; font-weight: normal;\">" + DataConf(Dated) +  "</p>" + "<br />" + "<strong>" + Strong  + "</strong>" + "<p>"+ BodyH +"</p><br /><p><a href=\""+ Link +"\">Перейти на сайт</a></p>";
                    String Html = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /></head><body>"+Body+"</body></html>";
                    mWebView.getSettings().setDefaultTextEncodingName("utf-8"); 
                    mWebView.loadDataWithBaseURL(null, Html,"text/html", "UTF-8", null);                    
                 
                 btnNext.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Integer fg = Pos +1;
                            ArrayList<String> dataVar = new ArrayList<String>();
                            dataVar.add(String.valueOf(fg));
                            dataVar.add(Raz);
                            Fragment frag1 = new Page(dataVar); 
                            FragmentTransaction ft = getFragmentManager().beginTransaction();
                            ft.replace(R.id.content, frag1).commit();                           
                            
                        }
                    }); 
 
                 btnBack.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Integer fg = Pos -1;
                            ArrayList<String> dataVar = new ArrayList<String>();
                            dataVar.add(String.valueOf(fg));
                            dataVar.add(Raz);
                            Fragment frag1 = new Page(dataVar); 
                            FragmentTransaction ft = getFragmentManager().beginTransaction();
                            ft.replace(R.id.content, frag1).commit();                           
                            
                        }
                    }); 
                 
                 
          return view;
      }
        public String DataConf(String a)
        {
            String Ass = a;
            String TestStringOlolo = Ass;
            String[] Ololo = TestStringOlolo.split(" ");
            TestStringOlolo = Ololo[1] + " " + Ololo[2] + " " + Ololo[3] + " " + Ololo[4];
            String Mec = Ololo[2];
            Mec = Mec.replace(" ","");      
            Map<String, String> dateForm = new TreeMap<String, String>();
            dateForm.put("Jan","Январь");
            dateForm.put("Feb","Февраль");
            dateForm.put("Mar","Март");
            dateForm.put("Apr","Апрель");
            dateForm.put("May","Май");
            dateForm.put("Jun","Июнь");
            dateForm.put("Jul","Июдь");
            dateForm.put("Aug","Август");
            dateForm.put("Ag","Август");
            dateForm.put("Sept","Сентябрь");
            dateForm.put("Oct","Октябрь ");
            dateForm.put("Nov","Ноябрь");
            dateForm.put("Dec","Декабрь");
            TestStringOlolo = Ololo[1] + " " +dateForm.get(Ololo[2]) + " " + Ololo[3];  
            return TestStringOlolo;
        }
        public String convertStreamToString(java.io.InputStream is) {
            java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
            return s.hasNext() ? s.next() : "";
        }   
        public String getInmgUrl(String Imf)
        {
            Document xmlDocDes = Jsoup.parse(Imf);
            Elements el = xmlDocDes.select("img");
            String Fd = "";
               for(Element b : el)
               {
                   Fd = Fd + b.attr("src");
                    
                }           
            return Fd;
        }   
        
        public String getStrong(String Imf)
        {
            Document xmlDocDes = Jsoup.parse(Imf);
            Elements el = xmlDocDes.select("strong");
            String Fd = "";
               for(Element b : el)
               {
                   Fd = Fd + b.text();
                    
                }           
            return Fd;
        }   
        
        public String getBody(String Imf)
        {
            Document xmlDocDes = Jsoup.parse(Imf);
            Elements el = xmlDocDes.select("p");
            el.remove(0);
            String Fd = "";
               for(Element b : el)
               {
                   Fd = Fd + b.text();
                    
                }                 
            return Fd;
        }           
}
Необходимо обработать нажатие на физ. кнопку Back(именно для этого форагмента) и передать ей данный функционал:
Java
1
2
3
4
5
6
7
                            Integer fg = Pos -1;
                            ArrayList<String> dataVar = new ArrayList<String>();
                            dataVar.add(String.valueOf(fg));
                            dataVar.add(Raz);
                            Fragment frag1 = new Page(dataVar); 
                            FragmentTransaction ft = getFragmentManager().beginTransaction();
                            ft.replace(R.id.content, frag1).commit();
Вариант с
Java
1
2
3
4
  @Override
  public void onBackPressed() {
 
  }
Не прокатывает пишет:
Java
1
2
Description Resource    Path    Location    Type
The method onBackPressed() of type Page must override or implement a supertype method   Page.java   /SimpleNavigationSample/src/com/example/navigationsample    line 67 Java Problem
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru