Manuel Barwig
Hey,
Am besten wäre es, wenn Du die relevanten Klassen postest. Dann müssen wir nicht Rätseln wie weit du bist, welchen Adapter du hast etc.
1public class categoryActivity extends ListActivity {
2
3 String cat;
4
5 // Progress Dialog
6 private ProgressDialog pDialog;
7
8 // Session Manager Class
9 SessionManager session;
10
11 // Creating JSON Parser object
12 JSONParser jsonParser = new JSONParser();
13
14 ArrayList<HashMap<String, String>> jokeList;
15
16 // url to get all jokes list
17 private static String url_all_category = "http://............./get_category_details.php";
18
19 // JSON Node names
20 private static final String TAG_SUCCESS = "success";
21 private static final String TAG_CATEGORIES = "joke";
22 private static final String TAG_CID = "cid";
23 private static final String TAG_NAME = "name";
24 private static final String TAG_JOKE = "joke";
25 private static final String TAG_JID = "jid";
26 private static final String TAG_OWN = "own";
27 private static final String TAG_DATE = "date";
28 private static final String TAG_OID = "oid";
29 private static final String TAG_OWN_ID = "own_id";
30
31 // jokes JSONArray
32 JSONArray jokes = null;
33
34 @Override
35 public void onCreate(Bundle savedInstanceState) {
36 super.onCreate(savedInstanceState);
37 setContentView(R.layout.main);
38
39 // Hashmap for ListView
40 jokeList = new ArrayList<HashMap<String, String>>();
41
42 session = new SessionManager(getApplicationContext());
43
44 // Get listview
45 ListView lv = getListView();
46
47 // Loading jokes in Background Thread
48 new LoadAllJokes().execute();
49
50 lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
51 @Override
52 public void onItemClick(AdapterView<?> arg0, View view, int arg2,
53 long arg3) {
54 /*DATEN VON GEKLICKETES ELEMENT FÜR NÄCHSTE ACTIVITY BEREITSTELLEN*/
55 }
56 });
57
58 }
59
60 /**
61 * Background Async Task to Load all product by making HTTP Request
62 * */
63 class LoadAllJokes extends AsyncTask<String, String, String> {
64
65 /**
66 * Before starting background thread Show Progress Dialog
67 * */
68 @Override
69 protected void onPreExecute() {
70 super.onPreExecute();
71 pDialog = new ProgressDialog(categoryActivity.this);
72 pDialog.setMessage("Lade Witze. Bitte warten...");
73 pDialog.setIndeterminate(false);
74 pDialog.setCancelable(false);
75 pDialog.show();
76 }
77
78 /**
79 * getting All jokes from url
80 * */
81 protected String doInBackground(String... args) {
82 // Building Parameters
83 List<NameValuePair> params = new ArrayList<NameValuePair>();
84
85 // get user data from session
86 HashMap<String, String> user = session.getUserDetails();
87 String username = user.get(SessionManager.KEY_NAME);
88
89 params.add(new BasicNameValuePair("name", cat));
90 params.add(new BasicNameValuePair("username", username));
91 // getting JSON string from URL
92 JSONObject json = jsonParser.makeHttpRequest(
93 url_all_category, "GET", params);
94
95 // log cat for JSON reponse
96 Log.d("All joke_cat: ", json.toString());
97
98 try {
99 // Checking for SUCCESS TAG
100 int success = json.getInt(TAG_SUCCESS);
101 if (success == 1) {
102 // JOKE FOUND
103 // Getting Array
104 jokes = json.getJSONArray(TAG_CATEGORIES);
105
106
107 // looping through All Joke
108 for (int i = 0; i < jokes.length(); i++) {
109 JSONObject c = jokes.getJSONObject(i);
110
111 // Storing each json item in variable
112 String id = c.getString(TAG_JID);
113 String name = c.getString(TAG_JOKE);
114 String own = c.getString(TAG_OWN);
115 String date = c.getString(TAG_DATE);
116 String own_id = c.getString(TAG_OWN_ID);
117
118 // creating new HashMap
119 HashMap<String, String> map = new HashMap<String, String>();
120
121 // adding each child node to HashMap key => value
122 map.put(TAG_JID, id);
123 map.put(TAG_JOKE, name);
124 map.put(TAG_OWN, own);
125 map.put(TAG_DATE, date);
126 map.put(TAG_OWN_ID, own_id);
127
128 // adding HashList to ArrayList
129 jokeList.add(map);
130 }
131 } else {
132 // no joke found
133 }
134 } catch (JSONException e) {
135 e.printStackTrace();
136 }
137 return null;
138 }
139
140 /**
141 * After completing background task Dismiss the progress dialog
142 * **/
143 protected void onPostExecute(String file_url) {
144 // dismiss the dialog after getting all joke
145 pDialog.dismiss();
146 // updating UI from Background Thread
147 runOnUiThread(new Runnable() {
148 public void run() {
149 /**
150 * Updating parsed JSON data into ListView
151 * */
152 ListAdapter adapter = new SimpleAdapter(
153 categoryActivity.this, jokeList,
154 R.layout.joke_list_item, new String[] { TAG_JID,
155 TAG_JOKE, TAG_OWN, TAG_DATE, TAG_OWN_ID},
156 new int[] { R.id.pid, R.id.name, R.id.own, R.id.date, R.id.own_id });
157 // updating listview
158 setListAdapter(adapter);
159 }
160 });
161
162 }
163
164 }
165}
Ich habe jetzt mal Sachen raus gelöscht wo nichts damit zutun hat.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.