我目前正在开发一个非常基础的 android 应用程序,遇到了一个我无法独自解决的障碍。
在我的应用程序中,我想要一个带有 ListView 的开始屏幕。在这个 ListView 的每一行中应该有一个 Button 和一个 TextView。我想要大约 5 行。当您单击每个按钮时,您应该能够进入不同的 Activity 。我怎么做?我阅读了一些有关适配器的内容,但我仍然不确定如何构建它。
这是我的 TextView 和 Button 的 xml 代码:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:id="@+id/rl01">
<TextView
android:layout_width= "wrap_content"
android:layout_height="50dp"
android:id="@+id/text01"
android:text="hello"
android:textSize="24dp"
android:textColor="@color/abc_search_url_text_normal"
android:paddingRight="@dimen/activity_horizontal_margin"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_toRightOf="@id/text01"
android:text="Press Me!"
/>
</RelativeLayout>
最佳答案
您发布的 xml 布局将用作每个 ListView 项目。
第 1 步: 创建一个扩展 BaseAdapter 的类;
public class CustomAdapter extends BaseAdapter
{
Context con;
String[] data;
public CustomAdapter (Context context, String[] data)
{
this.con = context;
this.data = data;
}
@Override
public int getCount() {
return data.length;
}
@Override
public Object getItem(int position) {
return data[position];
}
@Override
public long getItemId(int position) {
return 0;
}
//this method will be called for every item of your listview
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView= inflater.inflate(R.layout.customview, parent, false);
TextView text = (TextView) view.findViewById(your text view id); //recognize your view like this
text.setText(data[position]);
return convertView;
}
}
第 2 步: 在您的 Activity 中,识别您的 ListView :
yourListViewReference = (ListView) findViewById(R.id.your_list_view_id);
并初始化字符串数组:
String[] data = {"item 1", "item2", "item3"}; //how many items you want
然后创建您创建的自定义适配器的实例,并将其设置为 ListView :
CustomAdapter ad = new CustomAdapter(this, data);
yourListViewReference.setAdapter(ad);
抱歉我的英语不好。我实际上正在努力。
关于android - 为 ListView 的每一行添加一个按钮和一个 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31268098/