Java 通过ArrayList<;双倍>;去另一个班

Java 通过ArrayList<;双倍>;去另一个班,java,android,android-intent,arraylist,Java,Android,Android Intent,Arraylist,我可以用我的代码读取文本文件并将其保存到Arraylist。现在我想在其他活动中使用这个Arraylist,但是我在将Arraylist传递给另一个类时遇到了问题。我用心试了试,但没用。我将在下面添加我的程序代码 Intent intent=new Intent(this, ergebnisse.class); intent.putExtra("NEFZ", Nlist); startActivity(intent); 我希望你能帮助我 我的第一项活动: public class NEFZ2a

我可以用我的代码读取文本文件并将其保存到
Arraylist
。现在我想在其他活动中使用这个
Arraylist
,但是我在将
Arraylist
传递给另一个类时遇到了问题。我用心试了试,但没用。我将在下面添加我的程序代码

Intent intent=new Intent(this, ergebnisse.class);
intent.putExtra("NEFZ", Nlist);
startActivity(intent);
我希望你能帮助我

我的第一项活动:

public class NEFZ2array extends AppCompatActivity implements Serializable {

public static void main(String[] args) {
    FileReader file = null;
    try {
        file = new FileReader("NEFZ.txt");
    } catch (FileNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    ArrayList<Double> Nlist = new ArrayList<Double>();
    int i=0;
    Double d= null;
    try {
        BufferedReader input = new BufferedReader(file);
        String s=null;
        while((s=input.readLine())!=null) {
            StringTokenizer st = new StringTokenizer(s,",");
            while(st.hasMoreTokens()) {
                try {
                    d = Double.parseDouble(st.nextToken());
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                Nlist.add(i, d);
            }
        }
        input.close();
    } catch(Exception e) {
        e.printStackTrace();
    }
    for(double j:Nlist) {
        System.out.println(j);
    }
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_nefz2array);

}
}
您需要在接收方活动中调用getIntent()

Intent-Intent=getIntent()

然后你可以打电话


intent.getExtras()

android应用程序的入口点通常是onCreate方法

我怀疑您的主方法(传统java入口点)没有运行。您可以尝试从onCreate调用它,但实际上应该重命名它

要接收意图,只要调用main并添加意图代码,就应该发送意图,请确保接收器覆盖onReceive

@Override
public void onReceive(Context context, Intent intent) {
    ArrayList<Double> NEFZ = intent.getExtras().getString("NEFZ");
}
@覆盖
公共void onReceive(上下文、意图){
ArrayList NEFZ=intent.getExtras().getString(“NEFZ”);
}

android应用程序的入口点通常是onCreate方法。我怀疑您的主方法(传统java入口点)没有运行。您可以尝试从onCreate调用它,但实际上应该重命名它。要接收意图(只要你调用main并添加它,就应该发送该意图),请确保接收者覆盖onReceivePSVM(),你所说的“未工作”是什么意思?psvm()不是android活动生命周期的一部分,因此永远不会被调用。您好,您的代码不完整,因为您在第二次活动中放入/发送了额外的代码,但未收到/接收该代码。检查此项:,祝您好运<代码>公共静态void main(字符串[]args){
这不是Android的工作方式。看起来你需要一些基本的Android教程,然后才能继续运行main方法并且输出正确。如果我将代码更改为onCreate,则会出现错误。运行“NEFZ2array”时出错:活动必须导出或包含意图过滤器。因此,我看不出代码是否正确ght与否。它是在IDE、模拟器还是设备上运行?用于测试的类是在IDE上运行的。但应用程序在真实设备上运行没有任何问题。我建议添加toast或类似的主方法,以检查它在运行应用程序时是否实际执行。
@Override
public void onReceive(Context context, Intent intent) {
    ArrayList<Double> NEFZ = intent.getExtras().getString("NEFZ");
}