【问题标题】:Set onItemClickListener on custom inflated layout在自定义膨胀布局上设置 onItemClickListener
【发布时间】:2014-07-10 11:49:17
【问题描述】:

我在线性布局中膨胀线性布局,这样做:

    LinearLayout parent = ((LinearLayout) findViewById(R.id.main_parent)); 


for (int i = 0; i < 3; i++) {
        View r = LayoutInflater.from(getBaseContext()).inflate(
                R.layout.main_item, parent, false);
        ImageView itemBg = (ImageView) r.findViewById(R.id.main_item_img);
        TextView title = (TextView) r.findViewById(R.id.main_item_title);
        TextView time = (TextView) r.findViewById(R.id.main_item_time);
        TextView persons = (TextView) r
                .findViewById(R.id.main_item_persons);
        String imgLink = withoTechnics.get(i).getImage_1()
                .replace("[HEIGHT]", parent.getHeight() + "")
                .replace("[WIDTH]", (int) parent.getWidth() / 3 + "");
        Log.v("--", imgLink);
        title.setText(withoTechnics.get(i).getTitle());
        time.setText(withoTechnics.get(i).getPreparation_time());
        persons.setText(withoTechnics.get(i).getPersons() + "");
        ImageLoader.getInstance().displayImage(imgLink, itemBg);
        parent.addView(r);
    }

现在我可以通过执行此代码来设置项目点击侦听器吗,或者我需要修改什么以便为这些对象设置 onitemclicklistener?

【问题讨论】:

    标签: java android android-layout android-custom-view android-inflate


    【解决方案1】:

    你有一个 textview 对象,代码如下:

    TextView persons = (TextView) r
                .findViewById(R.id.main_item_persons);
    

    因此,与任何其他事件一样,您可以将点击事件添加到此文本视图。

    persons .setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       Toast.makeText(context,"textview person clicked",Toast.LENGTH_LONG).show();
    }
    });
    

    【讨论】:

      【解决方案2】:

      编辑:

      我建议你切换到带有自定义适配器的 ListView。

      • 然后你可以改变适配器的getView方法,来实现 你所有的TextView's 和ImageView's 到一个列表项中。

      • 对于您可以实现的点击次数
        listView.setOnItemClickListener()

      这是一个关于如何创建 ListView with a custom adapter.

      【讨论】:

      • 不,我想要一个听众,这样我就可以得到被点击的项目
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      相关资源
      最近更新 更多