列表视图打开相同的活动

时间:2014-01-20 15:06:12

标签: java android eclipse

我已成功调用某个项目的活动。但问题是我已经添加了一个括号,但它仍然会在列表视图上的其他项目上调用这两个活动。

 mainListView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
        if(position==0);
        {
            Intent i = new Intent(Lessons1.this, ForthActivity.class);
            startActivity(i);
        }

        if(position==1);
            Intent i = new Intent(Lessons1.this, ForthActivity.class);
            startActivity(i);
        }
});
}
}

2 个答案:

答案 0 :(得分:2)

切勿在if语句后添加分号。此

if(position==0);
{
    // some stuff
}

相当于

if(position==0)
{
    // do nothing
}
{
    // some stuff
}

这意味着无论position的价值如何,您总是会做“某些事情”。

答案 1 :(得分:1)

    if(position==1);
        Intent i = new Intent(Lessons1.this, ForthActivity.class);
        startActivity(i);
    }

应该是

    if(position==1){
        Intent i = new Intent(Lessons1.this, ForthActivity.class);
        startActivity(i);
    }

新:

mainListView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        if(position==0){
            Intent i = new Intent(Lessons1.this, ForthActivity.class);
            startActivity(i);
        }

        if(position==1){
            Intent i = new Intent(Lessons1.this, ForthActivity.class);
            startActivity(i);
        }
    }
});

顺便提一下,你注意到你正在调用相同的活动