如何根据在列表视图中单击的项目开始新的 Activity?

How can I start new Activity based on the item clicked in listview?

我已经坚持了 2 天了,我不明白为什么下面的代码不起作用,问题似乎是 onItemClick 上的 "if" 块,请我真的如果有人能帮我解决这个问题,我将不胜感激。谢谢

 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String name = parent.getItemAtPosition(position).toString();
                Toast.makeText(SearchActivity.this, name,Toast.LENGTH_LONG).show();
                if (name=="Sweet Tooth"){
                    Intent intent = new Intent(SearchActivity.this,SwitActivity.class);
                    startActivity(intent);
                }
            }
        });

in java String == String 总是 return false。

改用这个。

String s = "Sweet Tooth";

if (s.equals("Sweet Tooth"){
   //code
}

试试这个:

String name = listview.getItemAtPosition(position).toString();

if (name.equals("Sweet Tooth")){
                    Intent intent = new Intent(SearchActivity.this,SwitActivity.class);
                    startActivity(intent);
                }

在 Java 中,您使用 equals 函数比较两个字符串。

String name = parent.getItemAtPosition(position).toString();
if (name.equals("Sweet Tooth")){
    startActivity(new Intent(SearchActivity.this,SwitActivity.class));
   }