Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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 如何在两个活动之间传输数据_Java_Android - Fatal编程技术网

Java 如何在两个活动之间传输数据

Java 如何在两个活动之间传输数据,java,android,Java,Android,我有一个arraylist,每个索引也有一个arraylist。每个索引都列在listview中。如何在两个活动之间传递数据?我尝试了这些代码,但当我点击listview时,它崩溃了 论我的维持力 FuelView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View vie

我有一个arraylist,每个索引也有一个arraylist。每个索引都列在listview中。如何在两个活动之间传递数据?我尝试了这些代码,但当我点击listview时,它崩溃了

论我的维持力

FuelView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Intent intents = new Intent(MainActivity.this, EditEntry.class);
        String i = String.valueOf(position);
        intents.putExtra(KEY, i);
        startActivity(intents);`
     }
}
关于findEntry函数

Entrylist Entrylist = Entrylists.get(index);

    EditText new_date = (EditText) findViewById(R.id.date);
    new_date.setText(Entrylist.getDate().toString());
    EditText new_station = (EditText) findViewById(R.id.station);
    new_station.setText(Entrylist.getStation().toString());
    EditText new_odometer= (EditText) findViewById(R.id.odometer);
    new_odometer.setText(Entrylist.getOdometer().toString());
    EditText new_grade = (EditText) findViewById(R.id.fuel_grade);
    new_grade.setText(Entrylist.getGrade().toString());
    EditText new_amount = (EditText) findViewById(R.id.fuel_amount);
    new_amount.setText(Entrylist.getAmount().toString());
    EditText new_cost = (EditText) findViewById(R.id.unit_cost);
    new_cost.setText(Entrylist.getCost().toString());

    Button save = (Button) findViewById(R.id.button2);
    save.setText("Save");
这里是错误

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.larin.aolin1_fueltrack/com.example.larin.aolin1_fueltrack.EditEntry}: java.lang.NumberFormatException: Invalid int: "null"
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
                                                                                    at android.app.ActivityThread.access$600(ActivityThread.java:141)
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                    at android.os.Looper.loop(Looper.java:137)
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5103)
                                                                                    at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                    at java.lang.reflect.Method.invoke(Method.java:525)
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                                                                                    at dalvik.system.NativeStart.main(Native Method)
                                                                                 Caused by: java.lang.NumberFormatException: Invalid int: "null"
                                                                                    at java.lang.Integer.invalidInt(Integer.java:138)
                                                                                    at java.lang.Integer.parseInt(Integer.java:355)
                                                                                    at java.lang.Integer.parseInt(Integer.java:332)
                                                                                    at java.lang.Integer.valueOf(Integer.java:490)
                                                                                    at com.example.larin.aolin1_fueltrack.EditEntry.onCreate(EditEntry.java:41)
                                                                                    at android.app.Activity.performCreate(Activity.java:5133)
                                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
                                                                                    at android.app.ActivityThread.access$600(ActivityThread.java:141) 
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                    at android.os.Looper.loop(Looper.java:137) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5103) 
                                                                                    at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                    at java.lang.reflect.Method.invoke(Method.java:525) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
                                                                                    at dalvik.system.NativeStart.main(Native Method) 

您是否尝试使用解析索引

final int index = Integer.parseInt(intents.getStringExtra(MainActivity.KEY));
此外,您还可以通过intent发送int值:

intent.putExtra(KEY, position);      // put int value to intent
getIntent.getIntExtra(KEY, -1);      // get int value where -1 is the default value

请发布您的logcat错误跟踪。非常奇怪。。。那么getIntent()和getExtras()呢?这是空的吗?或者getIntent().getExtras().getString(MainActivity.KEY)?我应该把它们放在secondActivity的MainActivity中吗?如果我对这两个链接进行注释,我就能够访问secondActivity//final int index=Integer.valueOf(intents.getStringExtra(MainActivity.KEY));金融机构(指数)//这里的问题是“getStringExtra(MainActivity.KEY)”,因为您得到的是“null”值而不是有效字符串(例如:“2”)。主要原因有二:一,。第一个活动中的键与第二个活动中的键2不同。类型不同(例如:在第一个活动中将int值添加到intent,然后在第二个活动中尝试获取字符串值)。在你的情况下,我真的不知道问题出在哪里。我刚刚测试了你的代码,它对我有效。
intent.putExtra(KEY, position);      // put int value to intent
getIntent.getIntExtra(KEY, -1);      // get int value where -1 is the default value