リストビュー内に水平スクロールビューがあります。私が欲しいのは、水平方向にスクロールされた行に ViewItem を動的に追加することです。私のアプリケーションでは、一度に 10 件のストーリーが API から取得されます。ユーザーが次の 10 件を表示すると、no. OS のストーリーは無限大です。そのため、xml のビュー アイテムを修正できません。また、各ビューアイテムに onclick リスナーを実装する必要があります。それを行う方法はありますか??
CustomAdapter クラス
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 のストーリーを提供します。