我在 Listview 中有水平滚动视图。我想要的是在水平滚动的行中动态添加 ViewItem 。在我的应用程序中,一次从 API 获取 10 个故事,当用户 scolls 时,将显示下一个 10 并且没有。操作系统的故事可以是无限的。所以我无法修复 xml 中的视图项目。我还需要在每个视图项上实现 onclick 侦听器。任何想法怎么做?
自定义适配器类
public class CustomAdapter extends BaseAdapter
{
private Activity activity;
private ArrayList<String> data;
private ArrayList<String> image;
private static LayoutInflater inflater=null;
private Context context;
public CustomAdapter(Activity a, ArrayList<String> d, ArrayList<String> i)
{
activity = a;
data=d;
image=i;
inflater (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
context=(Context)activity.getBaseContext();
}
public int getCount()
{
return data.size();
}
public Object getItem(int position)
{
return position;
}
public long getItemId(int position)
{
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
TextView tv1,tv2,tv3,tv4,tv5,tv6,tv7,tv8,tv9,tv10;
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.list_row, null);
tv1=(TextView)vi.findViewById(R.id.imageView1);
tv2=(TextView)vi.findViewById(R.id.imageView2);
tv3=(TextView)vi.findViewById(R.id.imageView3);
tv4=(TextView)vi.findViewById(R.id.imageView4);
tv5=(TextView)vi.findViewById(R.id.imageView5);
tv6=(TextView)vi.findViewById(R.id.textView1);
tv7=(TextView)vi.findViewById(R.id.textView2);
tv8=(TextView)vi.findViewById(R.id.textView3);
tv9=(TextView)vi.findViewById(R.id.textView4);
tv10=(TextView)vi.findViewById(R.id.textView5);
tv1.setText(data.get(position).toString());
tv2.setText(data.get(position).toString());
tv3.setText(data.get(position).toString());
tv4.setText(data.get(position).toString());
tv5.setText(data.get(position).toString());
tv6.setText(image.get(position).toString());
tv7.setText(image.get(position).toString());
tv8.setText(image.get(position).toString());
tv9.setText(image.get(position).toString());
tv10.setText(image.get(position).toString());
return vi;
}
}
list_row.xml列表视图的行
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/linear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/imageView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
</LinearLayout>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout
>
我想要的是在滚动时将项目动态添加到水平滚动视图中因为 故事可以是无限的,但我的 API 一次将提供 10 个故事。