Z
zauber3r
Erfahrenes Mitglied
- 23
hi,
ich habe eine Spinnerauswahl, die daten aus einer mysql-db holt. klappt alles soweit sehr gut.
nun soll das ganze aber nicht passieren wenn die activity gestartet wird, sondern wenn ich einen button clicke, dann ein popup aufgehen und darin der spinner aufgehen.
unten ist der code, für die normale spinner aktion.
wie führe ich die in einem popup aus, in einer anderen activity?
ich habe eine Spinnerauswahl, die daten aus einer mysql-db holt. klappt alles soweit sehr gut.
nun soll das ganze aber nicht passieren wenn die activity gestartet wird, sondern wenn ich einen button clicke, dann ein popup aufgehen und darin der spinner aufgehen.
unten ist der code, für die normale spinner aktion.
wie führe ich die in einem popup aus, in einer anderen activity?
Code:
package com.example.phpmysql;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class KstHolenFuerAusbuchungActivity extends Activity implements OnItemSelectedListener {
String spinnerwahl;
private Spinner spinnerKst;
// array list for spinner adapter
private ArrayList<Category> categoriesList;
ProgressDialog pDialog;
// API urls
// Url to get all categories
private String URL_CATEGORIES = "URLXXXXXXX";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kstmenu);
spinnerKst = (Spinner) findViewById(R.id.spinKst);
categoriesList = new ArrayList<Category>();
// spinner item select listener
spinnerKst.setOnItemSelectedListener(this);
new GetCategories().execute();
}
/**
* Adding spinner data
* */
private void populateSpinner() {
List<String> lables = new ArrayList<String>();
//txtCategory.setText("");
for (int i = 0; i < categoriesList.size(); i++) {
lables.add(categoriesList.get(i).getKstalt());
}
// Creating adapter for spinner
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables);
// Drop down layout style - list view with radio button
spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
spinnerKst.setAdapter(spinnerAdapter);
}
/**
* Async task to get all food categories
* */
private class GetCategories extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(KstHolenFuerAusbuchungActivity.this);
pDialog.setMessage("Lade Kostenstellen...");
pDialog.setCancelable(false);
pDialog.show();
}
@Override
protected Void doInBackground(Void... arg0) {
// Preparing post params
// List<NameValuePair> params = new ArrayList<NameValuePair>();
//params.add(new BasicNameValuePair("kstalt", MainActivity.kst));
ServiceHandler jsonParser = new ServiceHandler();
String json = jsonParser.makeServiceCall(URL_CATEGORIES, ServiceHandler.GET);
Log.v(json, "JSON");
Log.e("Response: ", "> " + json);
if (json != null) {
try {
JSONObject jsonObj = new JSONObject(json);
if (jsonObj != null) {
JSONArray kstn = jsonObj
.getJSONArray("kstn");
for (int i = 0; i < kstn.length(); i++) {
JSONObject catObj = (JSONObject) kstn.get(i);
Category cat = new Category(catObj.getString("kst"));
categoriesList.add(cat);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
} else {
Log.e("JSON Data", "Didn't receive any data from server!");
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (pDialog.isShowing())
pDialog.dismiss();
populateSpinner();
}
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
Toast.makeText(
getApplicationContext(),
parent.getItemAtPosition(position).toString() + " Selected" ,
Toast.LENGTH_LONG).show();
spinnerwahl = parent.getItemAtPosition(position).toString();
MainActivity.kst = spinnerwahl;
Log.v(MainActivity.kst, "Spinnerwahl");
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
public void onClickAuswahl(View view){
}
}