当前位置: 首页 > 面试题库 >

如何在活动之间传递双精度数组(boolean [] [])?

湛联
2023-03-14
问题内容

我看不到有一个双布尔数组传递给另一个活动。我使用putExtra,当我检索它并将其投射到时boolean[][],它指出它无法投射并崩溃。Boolean
[]有效。

我该如何在两次boolean[][]活动之间传递a ?


问题答案:

如果您绝对需要boolean [] [](并且仅通过传递给Parcel.writeBooleanArray()的平面boolean
[]数组就无法做到这一点),那么执行此操作的正式方法是将其包装在Parcelable类中,然后在那儿进行编组/拆组。

我将草绘代码,尽管尚未经过测试,所以肯定会有一些问题。

public class BooleanArrayArray implements Parcelable {
    private final boolean[][] mArray;

    public BooleanArrayArray(boolean[][] array) {
        mArray = array;
    }

    private BooleanArrayArray(Parcelable in) {
        boolean[][] array;
        final int N = in.readInt();
        array = new boolean[][N];
        for (int i=0; i<N; i++) {
            array[i] = in.createBooleanArray();
        }
        mArray = array;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel out, int flags) {
        final int N = mArray.length;
        out.writeInt(N);
        for (int i=0; i<N; i++) {
            out.writeBooleanArray(mArray[i]);
        }
    }

    public static final Parcelable.Creator<BooleanArrayArray> CREATOR
            = new Parcelable.Creator<BooleanArrayArray>() {
        public BooleanArrayArraycreateFromParcel(Parcel in) {
            return new BooleanArrayArray(in);
        }

        public BooleanArrayArray[] newArray(int size) {
            return new BooleanArrayArray[size];
        }
    };
}


 类似资料:
  • 我正在开发一个由多个活动组成的Android应用程序,我必须在它们之间传递ab对象,但我不能通过使用意图传递它,因为对象的类没有实现可序列化,我怎么做?我无法修改我的类的源代码。谢谢:)

  • 我有两个活动,它们应该使用意图相互传递数据。我不确定在哪里放置一些看跌期权和看跌期权。 对于Activity1(MainActivity),我有一个按钮,按下它会创建一个意向,然后将其放入Activity2,然后使用startActivity(意向)启动它。 然后在Activity2中,我使用getIntent在onCreate()函数中获取该信息。 现在我想做的是在Activity2中有一个按钮

  • 我有两项活动。两者都已实现surfaceview。在第一个活动中,我有一个名为score1的变量,我想将score1中的值传递给第二个活动。 每次我运行应用程序时,它在完成第一个活动后崩溃,并尝试加载第二个活动。在我编写代码以获取第二个活动中的额外意图之前,一切都很好。 我的第一个活动有这样的意图: 在我的第二个活动中,以下代码试图获取score1变量的值: 我不明白为什么每次activity o

  • 我成功地尝试在三个活动之间传递数据。那就是: (数据3)活动1(数据1)- 现在的问题是: 我希望使用条件在这些活动之间传递数据。这是在Activity2中,在将数据发送到Activity3之前,我想检查一下 这是名为PickCard的Activity1的代码。Java语言 下面是Activity2 BuildWord的代码。Java语言 这是名为DropCard的Activity3的代码。Jav

  • 我正在尝试在活动之间传递数据 我使用intents在常规活动之间传递数据 请考虑以下代码:: 假设我将来自名为的其他活动的数据作为意图发送到 现在,如何接收中的数据,这些数据是从获得的,然后再将其传递到中 象形表示为:: {EDIT}--如果根据答案可以这样做--不明确,因为AndroidTabRestaurantDescearchListView是一个选项卡活动

  • 订单列表 对于Product.class(string,double,int,int)和Order.class(string,double,int)我有一个单独的类。我还有一个用于productlist的arrayAdapter,它有增加/减少产品数量的按钮。