猿问

为什么在反序列化为字典时 JsonConvert 会抛出异常

对我有用的解决方案:


    foreach (var option in options)

    {

        RadioButton rb = new RadioButton(Context);

        rb.SetButtonDrawable(null);

        rb.SetCompoundDrawablesWithIntrinsicBounds(null,null,null,ContextCompat.GetDrawable(Context, Android.Resource.Drawable.ButtonRadio));

        rb.Text = option.Text;

        rb.Gravity = GravityFlags.Center;

        radioGroup.AddView(rb);

    }


    // Weight für die RBs setzen

    for (int i = 0; i < radioGroup.ChildCount; i++)

    {

        var currentRb = radioGroup.GetChildAt(i);

        LinearLayout.LayoutParams rbParams = new LinearLayout.LayoutParams(0,

            ViewGroup.LayoutParams.WrapContent) {Weight = 1};

        currentRb.LayoutParameters = rbParams;

    }

.axml 中的简化 RadioGroup:


    <LinearLayout

    android:layout_marginLeft="5dp"

    android:layout_marginRight="5dp"

    android:gravity="center"

    android:layout_width="match_parent"

    android:id="@+id/formItemScaleLayout"

    android:layout_height="wrap_content"

    android:orientation="horizontal">


        <TextView

            android:id="@+id/formItemScaleStart"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="Start"/>


        <RadioGroup

            android:layout_weight="1"

            android:id="@+id/formItemScaleRadioGroup"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:orientation="horizontal" >

        </RadioGroup>


        <TextView

            android:id="@+id/formItemScaleEnd"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="End"/>

</LinearLayout>


米琪卡哇伊
浏览 244回答 1
1回答

梦里花落0921

您的第二个示例不是有效的 JSON。回想一下,JSON 基于 JavaScript,在该语言中,任何以 0 开头的数字文字都被解释为八进制数。有效的八进制数字是 0-7,因此如果文字包含 8 或 9,则无法解析它并会引发错误。('010203' 有效,因为它是一个有效的八进制文字,但 '070809' 不是)
随时随地看视频慕课网APP
我要回答