毎度お世話になってます。
PHPが出力したXMLを解析し、そのデータをarrayListに格納しAdapterを作成してSpinnerの選択肢を作成しようと思っているのですが下記コードだと選択肢はできても選択ができず困っております。
Java
1 Handler handler = new Handler(); 2 3 public void onCreate(Bundle savedInstanceState){ 4 super.onCreate(savedInstanceState); 5 setContentView(R.layout.activity_week); 6 7 Spinner sp = (Spinner)findViewById(R.id.spinner); 8 9 final ArrayList arrayList = new ArrayList<String>(); 10 11 new Thread(new Runnable(){ 12 @Override 13 public void run(){ 14 try{ 15 URL url = new URL("XMLをはくPHPソースのURL"); 16 HttpURLConnection con = (HttpURLConnection)url.openConnection(); 17 String str = InputStreamToString(con.getInputStream()); 18 XmlPullParser xpp = Xml.newPullParser(); 19 try{ 20 xpp.setInput(new StringReader(str)); 21 }catch (XmlPullParserException e){ 22// Log.d("XmlPullParser", "Error"); 23 } 24 25// XML解析 26 try { 27 int eventType; 28 eventType = xpp.getEventType(); 29 while (eventType != xpp.END_DOCUMENT) { 30 if((eventType == xpp.START_TAG)){ 31// 32 if("teamName".equals(xpp.getName())){ 33 34 arrayList.add(xpp.nextText()); 35 36 } 37 38 } 39 eventType = xpp.next(); 40 } 41 42 handler.post(new Runnable() { 43 @Override 44 public void run() { 45 46 } 47 }); 48// 49 50 }catch (Exception e){ 51 52 } 53 }catch (Exception ex){ 54 System.out.println(ex); 55 } 56 57 58 } 59 }).start(); 60 ArrayAdapter<String> ad = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, arrayList); 61 ad.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 62 63 sp.setAdapter(ad); 64 }
arrayList.addで任意の文字列(”テスト”)等を追加すると正常にSpinnerは動作するのですが上記コードだと選択肢が選択できない状態になります。
わかりにくい質問かもしれませんがよろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。