如何在listview中的同一行放置2个项目?
e.g
等等。 我没有绘制它们的问题,并且有很多种方法可以绘制它们。
我的问题:当我点击第1项或第2项时,我无法找到适当的方式听。
另外,我正在考虑简单地制作2个listview,独立填充它们并同时旋转,但我希望有更好的方法。
答案 0 :(得分:1)
您应该为listView使用自定义适配器。在适配器中,您为每行扩展自己的布局,并侦听每个视图的事件。这是自定义适配器的示例:Custom Adapter for List View
希望它可以帮到你!!
答案 1 :(得分:0)
为每个item
添加到listview row
布局:
android:focusable="false"
然后在getView
中找到每个item
,然后为其分配相应的点击监听器。
答案 2 :(得分:0)
将CustomAdapter用于listview并在集合中添加项目,例如ArrayList。
CustomAdapter adapter=new CustomAdapter(getApplicationContext(),R.id.listview_id,itemlist);
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
<TextView android:id="@+id/item1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="#000000"
/>
<TextView android:id="@+id/item2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="#000000"
/>
</LinearLayout>
CustomAdapter.java
public class CustomAdapter extends CustomAdapter<String>{
//Declare variables variables here..
public CustomAdapter(Context context, int resource,
List<String> objects) {
//initialize and set constructor values here..
}
public static class ViewHolder {
TextView textitem1;
TextView textitem2
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View row = convertView;
ViewHolder holder = null;
if(null == row) {
LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.list_item, parent, false);
holder = new ViewHolder();
holder.textitem1 = (TextView) row.findViewById(R.id.item1);
holder.textitem2 = (TextView) row.findViewById(R.id.item2);
row.setTag(holder);
}
return view;
}
}
答案 3 :(得分:0)
您可以添加任意数量的TextView。根据要求,您可以改变它们的位置/高度/宽度等。
用于收听Click事件, 对于每个文本视图添加android:clickable =“true” 使用CustomAdapter并在getView方法中为每个TextView设置ClickListeners。
希望这有帮助!
答案 4 :(得分:0)
我找到了适合100%的方式
想法是使用GridView~ instead of
ListView`。
<GridView
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:numColumns="2"
android:stretchMode="columnWidth" />
事实上,我甚至不需要在原始适配器中更改和单行。 android:numColums
设置要显示的列数。你可以在那里放置int或auoto_fit。