- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
是否可以创建一个 ListView 和一个适配器,在没有 XML 的情况下以编程方式向其中添加项目?如果是,怎么办?
最佳答案
首先,您需要初始化 ListView,然后将其添加到您的 Activity 布局中。您可以在此处阅读有关执行此操作的信息:How to create a RelativeLayout programmatically with two buttons one on top of the other?
您将创建一个布局,然后创建一个 ListView 并将其添加到该布局。
接下来,您需要创建一个自定义适配器。您可以在此处阅读更多相关信息: http://developer.android.com/reference/android/widget/ListAdapter.html
例如,您可以使用 ArrayAdapter。 http://developer.android.com/reference/android/widget/ArrayAdapter.html
ArrayAdapter 有一个方法
public View getView (int pos, View convertView, ViewGroup parent)
此方法返回一个 View 以显示在列表中的 pos 位置。在这个方法中,您首先要查看您是否已经拥有该位置的 View (通过检查 convertView)。如果不这样做,您将根据需要生成一个新 View 。您可以在代码中执行此操作,或者更好的是,您可以使用 XML 文件并扩充 View 。
设置适配器后,调用 ListView 上的 setAdapter。
例如,它可能看起来像这样:
@Override
public void onCreate(Bundle savedInstanceState){
LinearLayout ll = new LinearLayout(this);
ListView lv = new ListView(this);
YourAdapter adapter = new YourAdapter(<parameters here>);
lv.setAdapter(adapter);
ll.addView(lv, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
setContentView(ll);
}
关于android - 如何在没有 XML 的情况下以编程方式创建 ListView 并向其添加项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22542774/
我是一名优秀的程序员,十分优秀!