Android - ImageButton onClick事件无法触发

时间:2013-06-24 16:43:03

标签: android

我正在开发一个应用程序,我动态填充其他许多LinearLayout个孩子的父容器LinearLayout,并且这些孩子中的每一个都被填充了许多ImageButton,它是基本上是这样的:

XML代码是:

<ScrollView
    android:layout_height="match_parent"
    android:layout_width="fill_parent">
    <LinearLayout 
        android:id="@+id/phasesContainer" (parent container)
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

    </LinearLayout>
</ScrollView>

Java代码:

  for (PhaseActor pa : ph.get_actors()) {
    if (pa.get_prospective() != Phase.PROGRAM)
                continue;
            ImageView phaseActor = new ImageView(context);
            phaseActor.setImageResource((int) getActorFromMemory(
                    pa.get_actroId()).get_iconId());
            phaseActor.setMaxHeight(30);
            phaseActor.setMaxWidth(30);
            phaseActor.setTag(pa.get_id());
            phaseActor.setBackgroundResource(android.R.color.transparent);


            phaseActor.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    editPhaseActorClick(Integer.getInteger(v.getTag()
                            .toString()));
                }
            });

 // This container is the child (LinearOut) container 
            container.addView(phaseActor, imageLayout);         }

当我点击ImageView时,它没有做任何事情......函数没有被触发!

2 个答案:

答案 0 :(得分:0)

您需要设置

phaseActor.setClickable(true);

或者您可以使用ImageButton而不是ImageView。

答案 1 :(得分:0)

你在标题中说ImageButton,但代码中有一个ImageView,你确定要使用ImageView吗?使用ImageButton可以满足您的需求。