在listView.getChildCount()上获得0

时间:2011-09-09 16:21:58

标签: android

我想更改我创建的文本列表的字体和大小,但在listView.getChildCount()上获得0。

我想在显示之前更改文字的字体。这是我的代码:

public class NewsActivity  extends ListActivity {


 public ReadXMLFile ReadXML;
 public  ArrayList<String> ynetList =new ArrayList<String>();

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
 setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,ynetList));


      View v=getListView() ;

      ListView lv = this.getListView();



      //select red color borders*/
      int[] colors = {0, 0xFFFF0000, 0}; // red for the example
      lv.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
      lv.setDividerHeight(1);

      lv.setTextFilterEnabled(true);




    //test
      int childCount = lv.getChildCount();
      for (int i = 0; i < childCount; i++)
      {
          View vf = lv.getChildAt(i);
          TextView tx = (TextView) vf.findViewById(R.id.textView);
          tx.setTextSize(25);
          tx.setTextColor(Color.RED);
      }

2 个答案:

答案 0 :(得分:0)

您可以像这样扩展ArrayAdapter和Override getView()方法:

View view = super.getView();
TextView tx = (TextView) view .findViewById(R.id.textView);
tx.setTextSize(25);
tx.setTextColor(Color.RED);
return view;

答案 1 :(得分:0)

您可以创建自定义布局 - items_news -

<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textSize="75sp"
    android:text="Text" />

并在同一个适配器中使用。