Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将整数从listview传递到另一个活动_Java_Android_Sqlite_Android Intent - Fatal编程技术网

Java 将整数从listview传递到另一个活动

Java 将整数从listview传递到另一个活动,java,android,sqlite,android-intent,Java,Android,Sqlite,Android Intent,我想在单击listview时将其整数id传递到endActivity.java。但是我的代码无法正确检索整数 java它是整数的来源类 public void onListItemClick(ListView parent, View view, int position, long id) { Intent i = new Intent( this, TheEndActivity.class ); i.putExtra( "int", (int)id);

我想在单击listview时将其整数id传递到endActivity.java。但是我的代码无法正确检索整数

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);
}
java是我需要在这里传递整数的类。它是在onCreate方法中创建的

    Intent i = getIntent();
    final int number = i.getIntExtra("int", -1);
我需要使用整数id,将其保存到数据库中。操作在endActivity.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星战术。 EndActivity和QuizAppActivity都是活动吗

如果要执行后台活动(如将内容保存到数据库中),则必须将最终活动更改为IntentService或AsyncTask。 如果不是,则只启动EndActivity并允许用户从那里导航到QuizAppActivity

也试着改变 意向i=新意向,即EndActivity.class;到 Intent i=新Intent UsernameList.this,TheEndActivity.class


问题似乎在于呼叫2星战术。 EndActivity和QuizAppActivity都是活动吗

如果要执行后台活动(如将内容保存到数据库中),则必须将最终活动更改为IntentService或AsyncTask。 如果不是,则只启动EndActivity并允许用户从那里导航到QuizAppActivity

也试着改变 意向i=新意向,即EndActivity.class;到 Intent i=新Intent UsernameList.this,TheEndActivity.class


您调用startActivity的目的不是将int作为额外值。

您调用startActivity的目的不是将int作为额外值。

我不明白,为什么要调用startActivity两次?确定要id或position吗?为什么不传递long而不是int?尝试从int数字中删除final并检查是否收到整数corectly@LadaRider:因为在完成测验活动后,我需要将分数保存在最终活动中。我不明白,为什么要调用startActivity两次?确定要id或position吗?为什么不传递long而不是int?尝试从int数字中删除final并检查是否收到整数corectly@LadaRider:因为在完成QuizAppActivity之后,我需要在Endactivity中保存分数。@ChandraMohan:执行的是第二个,没有多余的。@ChandraMohan:执行的是第二个,没有多余的。所以如果我想保存传递的整数,我需要将其更改为IntentService?我可以简单地将其作为选项2吗?谢谢@chandra最后我只调用了1个活动,然后我访问了该活动的值。@Kumisku,对于你关于第3点的问题,如果是ListActivity,那么你不必提及UsernameList。但如果是自定义列表的活动,我认为它是必需的。无论如何,很高兴我能帮助你。@Kumisku,不,在活动之间传递值,你可以随时使用意图。我说的是在数据库中存储数据。在asynctask或IntentService中这样做总是更好的。因此,如果我想保存传递的整数,我需要将其更改为IntentService?我可以简单地将其作为选项2吗?谢谢@chandra最后我只调用了1个活动,然后我访问了该活动的值。@Kumisku,对于你关于第3点的问题,如果是ListActivity,那么你不必提及UsernameList。但如果是自定义列表的活动,我认为它是必需的。无论如何,很高兴我能帮助你。@Kumisku,不,在活动之间传递值,你可以随时使用意图。我说的是在数据库中存储数据。在asynctask或IntentService中这样做总是更好的。