【问题标题】:Android: pass listView item position to next activityAndroid:将listView项目位置传递给下一个活动
【发布时间】: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);

标签: android android-activity android-listview onclicklistener listviewitem


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多