android - 你如何在 android 中的 Activity 之间传递 float[] 数组?

标签 android arrays android-intent

class1.java 已经创建了一个 float[] 数组,这是 class2.java 中需要的。你怎么做到这一点? float[] 是点。这是一个示例代码:

class1.java

    import android.app.Activity;
    import android.content.Context;
    import android.app.ListActivity;
    import android.content.Intent;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Typeface;
    import android.view.Display;
    import android.view.SurfaceHolder;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Spinner;
    import android.widget.TextView;

    public class class1 extends Activity  implements OnClickListener {
            public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            float[] points = new float[100];
            }
    }


class2.java



 import android.app.Activity;
    import android.app.ListActivity;
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.DashPathEffect;
    import android.graphics.Paint;
    import android.graphics.Path;
    import android.graphics.Rect;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Spinner;
    import android.widget.TextView;

    public class graph extends Activity{

     DemoView demoview;
     public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            demoview = new DemoView(this);
            setContentView(demoview);

     }
     private class DemoView extends View{
      public DemoView(Context context){
       super(context);
      }

      @Override protected void onDraw(Canvas canvas) {
       super.onDraw(canvas);

       canvas.drawLines(points, paint);

      }
     }
    }

最佳答案

更新一个旧问题,但它可能对某人有帮助。

使用 Intent 传递它。在 class1 中:

Intent i = new Intent(getApplicationContext(), class2.class);
i.putExtra("points",points);            
startActivity(i);

在第 2 类中:

Bundle extras = getIntent().getExtras(); 
float[] points = extras.getFloatArray("points");

请参阅 API bundles看看还有哪些结构可以发送

关于android - 你如何在 android 中的 Activity 之间传递 float[] 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4166897/

相关文章:

android - 钛合金背压事件

java - 无法使用 AVD 在 Windows 7 上绑定(bind)端口 1131

android - Butterknife 如何从不同的 View 绑定(bind) View

android - 在服务器上的 GoogleAuthUtil.getToken() Google+ 上验证 token 时出现 OAuth2ErrorException invalid_token

java - 使用for循环时字符串越界

c++ - 有没有办法根据命令行参数定义数组大小?运行时与编译时实例化?

javascript - 使用 .find 或 .find 内部的 .index

android - 如何从 "extends Application"类创建 Intent ,上下文为空

android - 通过 bundle 传递新数据来恢复旧 Activity

android - 当我们从 Android 的外部应用程序手动更改权限时会发生什么