Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中单击带传递参数的侦听器方法_Android - Fatal编程技术网

在Android中单击带传递参数的侦听器方法

在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

我不熟悉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)

当前在您的实现中,
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进一步编码:)这正是我正在编写的应用程序所需要的。谢谢