2012-03-19 8 views
0

に追加ビュー表示することはできませんは正しくこれは私のメインのレイアウトで実行

private void mimicListAdapter(List<Event> eventsList, String filters) { 

    TextView minute; 
    ImageView event_key; 
    TextView event_text; 
    LayoutInflater inflater = getLayoutInflater(); 
    LinearLayout container = (LinearLayout) findViewById(R.id.match_list); 

    for(Event p:eventsList) { 
     //LayoutInflater inflater = getLayoutInflater(); 
     View rowView = inflater.inflate(R.layout.match_event, null, true); 
     minute = (TextView) rowView.findViewById(R.id.minute); 
     event_key = (ImageView) rowView.findViewById(R.id.event_img); 
     event_text = (TextView) rowView.findViewById(R.id.event_text); 
     boolean found = false; 
     String[] events = getResources().getStringArray(R.array.filtering); 
     if(filters!=null) 
     { 
      if(filters!="") 
      { 
       char[] indici = filters.toCharArray(); 
       for(int i = 0; i<indici.length; i++){ 
        if(events[Character.getNumericValue(indici[i])].contains(","+p.getEventKey()+",")) 
        { 
         found=true; 
         break; 
        } 
       } 
      } 

     } 
     minute.setText(Integer.toString(p.getMinute())); 
     event_text.setText(p.getEventText()); 
     try { 
      Drawable img = getResources().getDrawable(getResources().getIdentifier("i_"+p.getEventKey(), "drawable", getPackageName())); 
      event_key.setImageDrawable(img); 
     } catch (Exception e) { 

     } 

     if(found) { 
      event_text.setTextColor(0xFFFF0000); 
      minute.setTextColor(0xFFFF0000); 
      found = false; 
     } 

     container.addView(rowView); 
    } 
} 

問題私が持っているのは、外側にあるものはどれもmatch_listです。c orrectly、match_listの中で私は最初の要素を見ることができますが、それはすべて空です。私は、CHEのLinearLayoutは、ディスプレイの多くを占めているが、それは目に見えるEventのみ最初とちょうど黒のスペースだから埋めているように見えるわけ。

答えて

1

あなたはそれがLayoutParamsクラスを使用して表示しなければならないかについての情報を渡す必要があるコンテナにビューを追加します。今、あなたはそうlayout_widhtとlayout_heightとレイアウトXMLで定義されていたであろう情報が欠落しています。それらがなければ、Androidは最初のビューを設定しますが、サイズ情報が不足しているため、他のビューを整列させることはできません。このようなもの:

container.addView(rowView, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
+0

いや...同じ問題。それはかなり奇妙です。 – dierre

0

私は本当にばかです。 LinearLayoutの垂直方向が見当たりませんでした。

はところで私は、ListViewコントロールについては、このGoogleのI/Oを聞いて分かりました。 http://www.youtube.com/watch?v=wDBM6wVEO70

関連する問題