繁体   English   中英

将listview中的整数传递给另一个活动

[英]pass integer from listview to another activity

我想将listview(当它被点击时)的整数(id)传递给TheEndActivity.java。 但我的代码无法正确检索整数。

UsernameList.java(它是整数来自的类)

public void onListItemClick(ListView parent, View view, int position, long id) {         
    Intent i = new Intent( this, TheEndActivity.class ); 
    i.putExtra( "int", (int)id);
    Log.e(LOG_TAG, "id value "+id);
    startActivity( i );

    Intent intent = new Intent(UsernameList.this, QuizAppActivity.class);
    startActivity(intent);
}

TheEndActivity.java(它是我需要在这里传递整数的类。它是在onCreate方法中创建的)

    Intent i = getIntent();
    final int number = i.getIntExtra("int", -1);

我需要使用整数(id),我将其保存到数据库中(操作在TheEndActivity.java中完成)

finishBtn.setOnClickListener(new View.OnClickListener() {           
    @Override
    public void onClick(View v) {

        helper.insertMark(currentGame.getRight(), number );
        Log.e(LOG_TAG, "id value: " + number );
        Intent i = new Intent(TheEndActivity.this, MainMenu.class);
        startActivity(i);
    }
});

解决了

问题是我称之为2项活动。 感谢大伙们

问题似乎是在调用2 startActivities。 TheEndActivity和QuizAppActivity都是活动吗?

  1. 您必须将TheEndActivity更改为IntentService或AsyncTask,如果它正在执行后台活动,例如将内容保存到数据库中。
  2. 如果不是,则仅启动TheEndActivity并允许用户从那里导航到QuizAppActivity。

  3. 也尝试改变
    Intent i = new Intent(this,TheEndActivity.class); to Intent i = new Intent(UsernameList.this,TheEndActivity.class);

您正在调用startActivity ,其intent是没有将int作为额外的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM