gpt4 book ai didi

android - horizo​​ntalscrollview的点击监听器如何实现

转载 作者:行者123 更新时间:2023-11-30 03:56:30 24 4
gpt4 key购买 nike

我已经实现了 Horizo​​ntalScrollView 来显示图像。但是我找不到方法来为 Horizo​​ntalScrollView 上的特定图像点击实现 onclick 监听器。

我已经在 imageview 1 上实现了 onclick,我也在调用 imageview 期间设置了 id,但是在 toast 消息上它只显示“14”..

谁能帮帮我

已更新

感谢 sam 他指出错误;现在我想在每张图片下方显示文字。所以我正在尝试实现相对布局和以下代码,但它不起作用。

这是我的代码

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.cfragment, container, false);
}
@Override
public void onStart() {
super.onStart();
/** Setting the multiselect choice mode for the listview */
initfrag();
}
private void initfrag() {
RelativeLayout layout = new RelativeLayout(getActivity());
TextView tv1 = new TextView(getActivity());
tv1.setText("xyzxyzyxyzxyz"); tv1.setId(1);
TextView tv2 = new TextView(getActivity());
tv2.setText("xyzxyzyxyzxyz");tv2.setId(2);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.FILL_PARENT);
lp.addRule(RelativeLayout.BELOW, tv1.getId());
layout.addView(tv1);
layout.addView(tv2, lp);
final LinearLayout linearlayout1 = (LinearLayout)getView().findViewById(R.id.container);
LinearLayout linearlayout2 = (LinearLayout)getView().findViewById(R.id.container2);
LinearLayout linearlayout3 = (LinearLayout)getView().findViewById(R.id.container3);
for (int i = 0; i < 15; i++) {
iv = new ImageView(getActivity());
iv.setPadding(20, 5, 5, 5);
iv.setId(i);
iv.setImageResource(R.drawable.test_play_image);
linearlayout1.addView(iv, 200, 220);
ImageView iv2 = new ImageView(getActivity());
iv2.setPadding(20, 5, 5, 5);
iv2.setImageResource(R.drawable.test_play_image);
linearlayout2.addView(iv2, 200, 220);

ImageView iv3 = new ImageView(getActivity());
iv3.setPadding(20, 5, 5, 5);
iv3.setImageResource(R.drawable.test_play_image);
linearlayout3.addView(iv3, 200, 220);
iv.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
int s =iv.getId();
Toast t = Toast.makeText(getActivity(), "id is "+s, Toast.LENGTH_SHORT);
t.show();
}
});

最佳答案

您想获取刚刚单击的 View 的 ID,而不是循环中创建的最后一个 View 的 ID。因此,只需将 OnClickListener 中的变量从 iv 更改为:

int s =iv.getId();

对于 v,传递给 onClick() 的 View :

int s = v.getId();

关于android - horizo​​ntalscrollview的点击监听器如何实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com