2011-10-28 41 views
1

我下面the List View tutorial安卓:与列表视图教程在屏幕上

什么,我有这样的代码(稍作修改):

public class GroupsActivity extends ListActivity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setListAdapter(new ArrayAdapter<String>(this, R.layout.groups_layout, R.array.repetitions_array)); 

     ListView lv = getListView(); 
     lv.setTextFilterEnabled(true); 

     lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
       // When clicked, show a toast with the TextView text 
       Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
       Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
} 

R.layout.groups_layout是一个.xml :

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="10dp" 
android:textSize="16sp" > 
</TextView> 

问题是我在屏幕上什么都看不到。 任何想法有什么不对?

+1

您是否在Logcat输出中看到任何错误?你确定你的数组包含项目吗?也许尝试将您的listview项目layout_height设置为“wrap_content”而不是“fill_parent” – hooked82

+0

您在哪里定义'repetitions_array'?你是否真的用数据填充它? –

回答

3

你不能提供一个ArrayAdapter构造一个数组资源的ID。你需要实际的数组对象。试试这个:

String your_array_contents[] = context.getResources().getStringArray(R.array.repetitions_array); 
setListAdapter(new ArrayAdapter<String>(this, R.layout.groups_layout, your_array_contents)); 
0

一种可能性是,R.array.repetitions_array空