2012-04-16 16 views
0

このチュートリアルでは、JsonとPHPスクリプトを使用してmysqlデータベースをクエリする方法について説明していますが、これらの結果をリストしています以下のようにListViewではなくTextViewとして表示されます。 Thatsは簡単ですが、TextViewをListViewに置き換えることで機能させることはできません。 画像:ここでandroidのリストビューにmysqlの結果を表示

チュートリアル(内部コード)である: http://blog.erlem.fr/fr/applications-mobiles/android/27-android-blog/applications-mobiles/android/59-android-connexion-a-mysql-a-laide-de-php.html

答えて

1

以下のすべては、あなたが配列にJSONをすでに解析されたと仮定しています。 this for parsing help.

ListViewsは、リストの行を埋めるために要素をつかむためにアダプタを使用します。リストまたは配列(ArrayList、何を持っているか)を介してJSON結果をSimpleListAdapterにフィードしなければなりません。 this page about listviewsから

SimpleAdapter nommes = new SimpleAdapter( 
this, 
list, 
R.layout.main_item_two_line_row, 
new String[] { "line1","line2" }, 
new int[] { R.id.text1, R.id.text2 }); 

(あなたが示すことができ、あなたのケースで/この例のように1行のレイアウトや2行のレイアウトを使用することにより、ID /名前を隠す)

その後アダプターを適用

listView.setAdapter(nommes); 

EDIT:

jObject = new JSONObject("<your JSON string from provider>"); 

// in my case: 

res = jObject.getJSONObject("results"); 

**dataAdapter = new ArrayAdapter<String>(this, R.layout.item, R.id.itemName);** 

try { 
    for (int r = 0; r < rslt.length(); r++){ 
    JSONArray jA = rslt.getJSONArray(Integer.toString(r)); 
    schoolLocString = jA.getString(0) +"|"+ jA.getString(1) +"[" + jA.optString(2); 
    **dataAdapter.add(schoolLocString);** 

    } 
    **myListView.setListAdapter(dataAdapter);** 
} catch (JSONException e) { 
Log.v(TAG, "Exception " + e); 
} catch (NullPointerException e){ 
Log.v(TAG, "NPE, no rslt"); 
} 

これは本当に怠け者で、おそらく悪い習慣ですが、あなたはそのアイデアを得ることができます。

+0

ありがとうございますが、それでもうまくいきませんが、とにかくSQLデータベースを照会して結果をリストビューで表示する他の方法を知っていますか? – Common

+0

私はあなたがどのように努力しているのか正確にそれを行います。 JSONObjectをJSONObjectに変換して個々のタグを取り出すことができる文字列としてjsonを送信するphp webserviceを作成します。リストビューを使用している場合は、結果をArrayListに追加して配列をArrayAdapterに渡します。私は今夜​​私のワークステーションの近くにいませんが、後でもっと詳細なサンプルを載せます。 – h4rpur

+0

ご協力ありがとうございます。できます – Common