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

Конвертировании ListActivity в Fragment - Android

Восстановить пароль Регистрация
 
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
29.03.2016, 11:51     Конвертировании ListActivity в Fragment #1
Здраствуйте, ребята пожалуйста помогите конвертировать Класс ListActivity в 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
160
161
162
163
164
165
166
public class AlbumsActivity extends ListActivity {
    // Connection detector
    ConnectionDetector cd;
     
    // Alert dialog manager
    AlertDialogManager alert = new AlertDialogManager();
     
    // Progress Dialog
    private ProgressDialog pDialog;
 
    // Creating JSON Parser object
    JSONParser jsonParser = new JSONParser();
 
    ArrayList<HashMap<String, String>> albumsList;
 
    // albums JSONArray
    JSONArray albums = null;
 
    // albums JSON url
    private static final String URL_ALBUMS = "http://site.ru";
 
    // ALL JSON node names
    private static final String TAG_ID = "id";
    private static final String TAG_NAME = "name";
    private static final String TAG_SONGS_COUNT = "songs_count";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_albums);
         
        cd = new ConnectionDetector(getApplicationContext());
          
        // Check for internet connection
        if (!cd.isConnectingToInternet()) {
            // Internet Connection is not present
            alert.showAlertDialog(AlbumsActivity.this, "Internet Connection Error",
                    "Please connect to working Internet connection", false);
            // stop executing code by return
            return;
        }
 
        // Hashmap for ListView
        albumsList = new ArrayList<HashMap<String, String>>();
 
        // Loading Albums JSON in Background Thread
        new LoadAlbums().execute();
         
        // get listview
        ListView lv = getListView();
         
        /**
         * Listview item click listener
         * TrackListActivity will be lauched by passing album id
         * */
        lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int arg2,
                    long arg3) {
                // on selecting a single album
                // TrackListActivity will be launched to show tracks inside the album
                Intent i = new Intent(getApplicationContext(), TrackListActivity.class);
                 
                // send album id to tracklist activity to get list of songs under that album
                String album_id = ((TextView) view.findViewById(R.id.album_id)).getText().toString();
                i.putExtra("album_id", album_id);               
                 
                startActivity(i);
            }
        });     
    }
 
    /**
     * Background Async Task to Load all Albums by making http request
     * */
    class LoadAlbums extends AsyncTask<String, String, String> {
 
        /**
         * Before starting background thread Show Progress Dialog
         * */
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(AlbumsActivity.this);
            pDialog.setMessage("Listing Albums ...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();
        }
 
        /**
         * getting Albums JSON
         * */
        protected String doInBackground(String... args) {
            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
 
            // getting JSON string from URL
            String json = jsonParser.makeHttpRequest(URL_ALBUMS, "GET",
                    params);
 
            // Check your log cat for JSON reponse
            Log.d("Albums JSON: ", "> " + json);
 
            try {               
                albums = new JSONArray(json);
                 
                if (albums != null) {
                    // looping through All albums
                    for (int i = 0; i < albums.length(); i++) {
                        JSONObject c = albums.getJSONObject(i);
 
                        // Storing each json item values in variable
                        String id = c.getString(TAG_ID);
                        String name = c.getString(TAG_NAME);
                        String songs_count = c.getString(TAG_SONGS_COUNT);
 
                        // creating new HashMap
                        HashMap<String, String> map = new HashMap<String, String>();
 
                        // adding each child node to HashMap key => value
                        map.put(TAG_ID, id);
                        map.put(TAG_NAME, name);
                        map.put(TAG_SONGS_COUNT, songs_count);
 
                        // adding HashList to ArrayList
                        albumsList.add(map);
                    }
                }else{
                    Log.d("Albums: ", "null");
                }
 
            } catch (JSONException e) {
                e.printStackTrace();
            }
 
            return null;
        }
 
        /**
         * After completing background task Dismiss the progress dialog
         * **/
        protected void onPostExecute(String file_url) {
            // dismiss the dialog after getting all albums
            pDialog.dismiss();
            // updating UI from Background Thread
            runOnUiThread(new Runnable() {
                public void run() {
                    /**
                     * Updating parsed JSON data into ListView
                     * */
                    ListAdapter adapter = new SimpleAdapter(
                            AlbumsActivity.this, albumsList,
                            R.layout.list_item_albums, new String[] { TAG_ID,
                                    TAG_NAME, TAG_SONGS_COUNT }, new int[] {
                                    R.id.album_id, R.id.album_name, R.id.songs_count });
                     
                    // updating listview
                    setListAdapter(adapter);
                }
            });
 
        }
 
    }
}


вот шаблон конвертации

Java
1
2
3
4
5
6
7
8
9
10
11
public class PanelFragment extends Fragment 
{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
 
        View rootView = inflater.inflate(R.layout.activity_albums, container, false);
 
    return rootView;
    }
 }


Заранее спасибо.

Добавлено через 16 часов 44 минуты
Ребята никто не сможет да помочь пожалуйста очень нужно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2016, 11:51     Конвертировании ListActivity в Fragment
Посмотрите здесь:

Android ListActivity
Android Переход с ListActivity на другую активность
Шрифт в ListActivity Android
DialogFragment в Fragment Android
SwipeRefreshLayout + Fragment Android
Fragment Android
Как сохранить состояние выделенных checkbox и list data в Listactivity? Android
Программа вылетает при переходе на ListActivity Android
Android Программа вылетает при прокрутке ListActivity
Android Переход из ListActivity в Фрагмент
Android ListActivity
Android Не работает ActionBar в ListActivity

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
31.03.2016, 10:29     Конвертировании ListActivity в Fragment #2
В Android фрагменты можно встраивать внутрь Activity или друг в друга (что бы было проще, фрагмент выступает в качестве View, т.е. встраивается в неё). Соответственно фрагмент живет своей жизнью, не такой как простые View и зависит от жизни Activity.
Вам нужно взять ListFragment, перенести туда код из Activity и встроить этот фрагмент в любую Activity.

Почитайте что такое фрагменты и как с ними работать
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
31.03.2016, 16:33  [ТС]     Конвертировании ListActivity в Fragment #3
Я уже разобрался и с этим вопрос.
Yandex
Объявления
31.03.2016, 16:33     Конвертировании ListActivity в Fragment
Ответ Создать тему
Опции темы

Текущее время: 04:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru