2016-08-11 7 views
1

Volleyの助けを借りてMySQLデータベースから取得したデータを表示し、ListViewに入力しようとしています。 すべての方法を試してみる限り、私はそれをすることができません。JSONデータをListViewに読み込みます

JsonArrayRequest req = new JsonArrayRequest(urlJsonArry, new Response.Listener<JSONArray>() { 
    @Override 
    public void onResponse(JSONArray response) { 
     Log.d("TAG", response.toString()); 

     try { 
      ArrayList<HashMap<String, String>> authorList = new ArrayList<>(); 
      for (int i = 0; i < response.length(); i++) { 
       JSONObject obj = (JSONObject) response.get(i); 
       String username  = obj.getString("username"); 
       String email   = obj.getString("email"); 
       String password  = obj.getString("password"); 

       usernameAll += "UserName: " + username + "\n\n"; 
       emailAll += "Email: " + email + "\n\n"; 
       passwordAll += "Password: " + password + "\n\n";      
     } 

私は 'ユーザ名'、 'メール'、および 'パスワード' を取得してきたように私は正常myTextView.setText(usernameAll + " " + ..);によってTextViewでそれを表示することができます。しかし、今の私はちょうど私がいくつかのArrayを取り、それが動作する配列を呼ぶが、なぜmyDataが動作していない場合はSimple ListView

HashMap<String, String> myData = new HashMap<>(); 
myData.put("justKey", usernameAll); 
adapter1 = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1, myData); 
listView.setAdapter(adapter1); 

で「ユーザー名」を移入/印刷したいです。実際の問題を理解するのを手伝ってください。 あなたはこの問題を解決するための私のアプローチを修正する場合、私は本当に感謝します

「ものがをどのように機能するかを、実際に」私の次のステップは、Custom ListViewを使用するようになりますが、今、私は熱望しています。

ありがとうございます。

PS:私は、Android Studioの2.1.2からこのエラーを取得しています:

Cannot resolve constructor 'ArrayAdapter(android.content.Context, int, int, java.lang.String)'

+0

あなたのlistviewアダプタコードは何ですか?正直なところ、カスタムリストビューを使い始めるのが最も簡単です。これを学ぶには、このような状況で一般的に使うよりも、ちょうど良い方法です。myDataが機能しないと言ったら、どういう意味ですか? usernameAllはnullに戻りますか?ユーザ名、電子メール、パスワードを保存し、それらをデータ構造体に格納するユーザオブジェクトを作成しないと、リストビューで取得したときに表示する方がはるかに簡単です。 – Steeno

+0

こんにちは@Steeno!コメントありがとうございます。まあ私はそれに立ち往生して、私は何をすべきかわからない。実際、これは初めての試みです。私のコードは文字列までパスワード= obj.getString( "パスワード");私には大丈夫です。もう一つはあなたに私に提案します。あなたが私にそれをする方法を示すなら、それはもっと親切だろうか? | 'usernameAll'はnullではなく、_TextView_に表示できます。しかしListViewではできません。私に他のコードを提案したいなら、それは素晴らしいことでしょう。ありがとうございました。 – fWd82

+0

このエラーが発生しました: 'このステートメントからArrayAdapter(android.content.Context、int、int、java.lang.String) 'をコンストラクタで解決できません:' adapter1 = new ArrayAdapter (getApplicationContext()、android.R .layout.simple_list_item_1、android.R.id.text1、usernameAll); ' – fWd82

答えて

1

uは、アレイアダプタ

https://developer.android.com/reference/android/widget/ArrayAdapter.html

にハッシュマップ渡すことはできませんに変換ドキュメントに記載されているリスト

//Code Getting Collection of values from HashMap 

Collection<String> values = myData.values(); 

//Creating an ArrayList of values 

ArrayList<String> listOfValues = new ArrayList<String>(values); 

詳細については、以下のリンクを参照してください http://javaconceptoftheday.com/how-to-convert-hashmap-to-arraylist-in-java/

+0

Aha!ありがとうございました。私のために 'HashMap'から' List'に変換するのはちょっと難しいですね。 |あなた/誰も私が 'ArrayAdapter'で使っている少しのコードスニペットで助けてください。そして、私は' ListView'のすべての値を表示できますか?前もって感謝します。 – fWd82

関連する問題