Android:将listView项目位置传递给下一个活动

Posted

技术标签:

【中文标题】Android:将listView项目位置传递给下一个活动【英文标题】:Android: pass listView item position to next activity 【发布时间】:2015-07-28 17:35:44 【问题描述】:

我需要将列表视图单击的行的索引传递给下一个活动。现在我只能通过单击列表视图项打开一个活动,但我尝试多次传递索引,但没有成功。顺便说一下,我的列表视图是带有自定义适配器和视图支架的——如果这有任何改变的话。我的尝试:

mListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
        

         @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) 

            Intent myIntentJob = new Intent(ListviewActivity.this, JobActivity.class);

            mListView.setTag(position);
            int positionX = (Integer) view.getTag();

            myIntentJob.putExtra("paramPosition", positionX);
            startActivity(myIntentJob);
        
    );

这是来自第二个活动的方法onCreate

protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);

        mTextViewPassedJob = (TextView)findViewById(R.id.jobPassed);
        mTextViewPassedComp = (TextView)findViewById(R.id.compPassed);



        Bundle extras = getIntent().getExtras();
        if (extras != null)
        
            String myParam = extras.getString("paramPosition");
        
        else
        
            //..oops!
        
    

【问题讨论】:

不是getString(),是int myParam = extras.getInt("paramPosition", -1); 【参考方案1】:

您正在将一个 int 放入包中,但试图检索一个 String 值。试试

int myParam = extras.getInt("paramPosition");

【讨论】:

以上是关于Android:将listView项目位置传递给下一个活动的主要内容,如果未能解决你的问题,请参考以下文章

将自定义ListView项目传递给Android中的其他活动

将 ListView 中的位置传递给子 RecyclerView 适配器

无法从 ListView 通过 Intent 正确传递数据

如何将Listview数据裁剪到android中的滚动位置?

如何获取listView位置值并通过intent传递给另一个类

在android中的“项目已编辑”的位置设置ListView显示权