我正在开发一个应用程序,我动态填充其他许多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时,它没有做任何事情......函数没有被触发!
答案 0 :(得分:0)
您需要设置
phaseActor.setClickable(true);
或者您可以使用ImageButton而不是ImageView。
答案 1 :(得分:0)
你在标题中说ImageButton,但代码中有一个ImageView,你确定要使用ImageView吗?使用ImageButton可以满足您的需求。