在Android中单击带传递参数的侦听器方法
我不熟悉android和Java。我想创建一个带有int参数的onClick方法,因此我尝试:在Android中单击带传递参数的侦听器方法,android,Android,我不熟悉android和Java。我想创建一个带有int参数的onClick方法,因此我尝试: public void randomClick(final int randomIndex) { private OnClickListener top_listener = new OnClickListener() { public void onClick(View v) { Intent top = new Inten
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)代码>当前在您的实现中,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
活动
如果您想明确启动ProjectDetails
活动(无需任何用户交互,如单击),则根本不需要OnClickListener
。我很高兴您成功了!happy进一步编码:)这正是我正在编写的应用程序所需要的。谢谢