2016-05-11 3 views
0

私はforループを使用してみましたが、一度しか表示されないので、一度にリスト全体が必要です。配列ビューをテキストビューで表示

private void prepareEmergencyAll(JSONArray emergency_all) { 
    LinearLayout myLayout1 = (LinearLayout)findViewById(R.id.listTL); 
    ListView emgcyall_list = (ListView)findViewById(R.id.emgcyallLV); 
    // LinearLayout myLayout2 = (LinearLayout) findViewById(R.id.phonelistTL); 

    for(int i=0;i<emergency_all.length();i++){ 
     Emergency_all emglist = new Emergency_all(); 
     try { 
      JSONObject single = emergency_all.getJSONObject(i); 
      emglist.setFullname(single.getString("fullname")); 
      emglist.setPhone(single.getString("phone")); 
      list.add(emglist); 
     //  emgcyall_list.setAdapter(adapter1); 

     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 


    } 


    adapter1=new EmgcyAdapter(ViewActivity.this,list); 
    emgcyall_list.setAdapter(adapter1); 

    // adapter1 = new EmgcyAdapter(,list); 








    } 
:私はリストビューを使用してみましたが、それは行動をスクロールしたときに、私は

この

が私のコードは、リストビューを使用します。.. action.Iが私を助けしなさい時点で配列リストを表示したいスクロールする必要はありません
+2

.. ...リストビューの高さを動的に変更するためのソリューションを持ってここにコードがあります。 –

+0

'TextUtils.join()'メソッドを使用してください。 – chRyNaN

+0

サンプルコードを教えてください。 –

答えて

0

あなたはそのためのStringBuilderを使用することができます。

StringBuilder builder = new StringBuilder(); 
for (String s : yourArrayList) { 
    builder.append(s).append(" "); 
} 
yourTextView.setText(builder.toString()); 
0
ArrayList<String> a = new ArrayList<>(); 
     String end =""; 
     for(int i = 0;i<a.size();i++){ 
      end = end + "\n"+a.get(i); 
     } 

uはStringBuilder :)

を理解できない場合は、これを試すことができます3210
0

私はあなたのコードを表示してください

public class Utility { 
public static void setListViewHeightBasedOnChildren(ListView listView) { 
    ListAdapter listAdapter = listView.getAdapter(); 
    if (listAdapter == null) { 
     // pre-condition 
     return; 
    } 

    int totalHeight = 0; 
    for (int i = 0; i <listAdapter.getCount(); i++) { 
     View listItem = listAdapter.getView(i, null, listView); 
     // listItem.measure(0, 0); 
     listItem.measure(
       View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), 
       View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); 
     totalHeight += listItem.getMeasuredHeight(); 
    } 

    ViewGroup.LayoutParams params = listView.getLayoutParams(); 
    params.height = totalHeight 
      + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); 
    listView.setLayoutParams(params); 
} 
} 

とあなたのmainactivityに以​​下を追加します。..

listview.setAdapter(adapter); 
    Utility.setListViewHeightBasedOnChildren(listview); 
関連する問題