如何导航到另一个 activity 使用列表项单击 Android

How to navigate in to another activity using list item click in Android

我想知道如何使用 onItemClickListener 方法在单击列表项时导航到新的 activity。我知道我们使用 Intents 的目的相同,但有人可以向我提供示例代码吗?

实现onClickListener时,可以使用v.getContext.startActivity

btn.setOnClickListener(new OnClickListener() {                   
    @Override 
    public void onClick(View v) {
        v.getContext().startActivity(PUT_YOUR_INTENT_HERE);
    } 
}); 

使用mList.setOnItemClickListener(new ListItemClickListener());

private class ListItemClickListener implements OnItemClickListener {

        @Override
        public void onItemClick(AdapterView<?> listView, View view, int position, long idOfView) {
            Intent intent = new Intent(WorkingActivity.this, TargetActivity.class);
            startActivity(intent);
        }
    }

您需要在列表视图上使用设置侦听器。使用 setOnItemClickListener。

mlistView.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                                //Handle the click here
                }
              });

我没有为列表视图提供任何适配器来填充它,请确保您确实提供了一些带有一些数据的适配器,并且 Activity 名称是虚拟的,您也必须定义它们

private static ListView listView;
    listView = (ListView) findViewById(R.id.listView);

listView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
                Intent intent = null;
            switch(position){
            case 0:
                intent = new Intent(getApplicationContext(), AClassName.class);
                break;
            case 1:
                intent = new Intent(getApplicationContext(), AClassName.class);
                break;
            case 2:
                intent = new Intent(getApplicationContext(), AClassName.class);
                break;
            case 3:
                intent = new Intent(getApplicationContext(), AClassName.class);
                break;
            case 4:
                intent = new Intent(getApplicationContext(), AClassName.class);
                break;
            case 5:
                intent = new Intent(getApplicationContext(), AClassName.class);
                break;
            default:
                intent = new Intent(getApplicationContext(), AClassName.class);
                break;
            }

            if(intent != null){
                startActivity(intent);
            }

        }
    });

switch 语句中的每个 case 都表示您要打开的不同 activity,这样您可以根据在列表中单击的项目打开活动