我是android和Java的新手。我想创建一个带有int参数的onClick方法,所以这是我的尝试:
public void randomClick(final int randomIndex)
{
private OnClickListener top_listener = new OnClickListener() {
public void onClick(View v) {
Intent top = new Intent(Main.this, ProjectDetail.class);
top.putExtra("spendino.de.ProjectDetail.position", randomIndex);
startActivity(top);
}
};
}
但它仍然包含错误,任何人都能解决这个问题吗?
后来我想把方法设置为ImageView,它看起来或多或少会像image1.randomClick(randomIndex1);
非常感谢你。我愿意接受任何解决方案。
答案 0 :(得分:8)
目前,在您的实施过程中,OnClickListener
不受任何视图约束,因此不会被解雇。
您应该创建自己的(可能是内部但不是匿名的)实现OnClickListener
接口的类:
public class RandomClickListener implements View.OnClickListener
{
private final int randomIndex;
public RandomClickListener(final int randomIndex)
{
this.randomIndex = randomIndex;
}
@Override
public void onClick(View v)
{
Intent top = new Intent(Main.this, ProjectDetail.class);
top.putExtra("spendino.de.ProjectDetail.position", randomIndex);
startActivity(top);
}
}
[...]
image1.setOnClickListener(new RandomClickListener(randomIndex));
这样,当您点击image1
时,它会启动上面设置为ProjectDetail
的{{1}}活动。
如果您想明确启动randomIndex
活动(没有任何用户互动,例如点击),您根本不需要ProjectDetails
。