从列表中选择项目后如何开始活动?

Posted

技术标签:

【中文标题】从列表中选择项目后如何开始活动?【英文标题】:How to start an activity after selecting an item from a list? 【发布时间】:2018-09-15 02:16:01 【问题描述】:

我想从列表中选择一个项目。单击此项目时,我想打开一个新活动并将相关项目显示在下一个活动中。这是我的点击监听器的代码:

listView.setOnClickListener(new AdapterView.OnClickListener() 
    String item = (String) adapterView.getItemAtPosition(i);
    public onClick(AdapterView<?> adapterView, View view, int i, long l) 
        // Getting item text to be able to show it in a toast.
        String item = (String) adapterView.getItemAtPosition(i);

        Intent intent = new Intent(MainActivity.this, AddPlaneActivity.class);
        startActivity(intent);
    
);

【问题讨论】:

你的错误是什么? 无法解析符号适配器视图。而在onClick方法上:无效的方法声明,需要返回类型 为什么你有两次String item = (String) adapterView.getItemAtPosition(i);onClick 方法之外的那个不知道adapterView 。这可能是你的错误来自 【参考方案1】:

试试

 lv.setOnItemClickListener(new OnItemClickListener()
    
        @Override 
        public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
         
            Intent intent = new Intent(getBaseContext(), AddPlaneActivity.class);
            intent.putExtra("Item", item);
            startActivity(intent);
        
    );

android:descendantFocusability="blocksDescendants" 在布局中

【讨论】:

【参考方案2】:

来自here:

初始活动:

Intent intent = new Intent(getBaseContext(), AddPlaneActivity.class);
intent.putExtra("EXTRA_STUFF_HERE", item);
startActivity(intent);

在下一个活动中访问该意图的信息:

String s = getIntent().getStringExtra("EXTRA_STUFF_HERE");

【讨论】:

感谢您的快速回复。 onClick 方法一直抱怨没有返回类型。

以上是关于从列表中选择项目后如何开始活动?的主要内容,如果未能解决你的问题,请参考以下文章

我如何使用意图从列表视图转到下一个活动? [复制]

重新加载页面后如何突出显示导航栏中的活动菜单项

当一个活动直接从一个通知启动时,你如何构建一个 Android 后台堆栈?

使用sqlite意图后如何从listview中获取项目名称?

拨打电话号码列表并返回活动

搜索过滤列表视图后如何开始新的意图?