начальная активность ошибки, не может определить ошибку [duplicate]

JSON и массив из XML в трех строках:

$xml = simplexml_load_string($xml_string);
$json = json_encode($xml);
$array = json_decode($json,TRUE);

Ta da!

45
задан Igor Tyulkanov 14 December 2015 в 06:46
поделиться

2 ответа

Измените <view на <View, потому что view не находится в пустом представлении. Это для пользовательского представления, определенного через class attr, как показано ниже:

<view
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    class="com.your.package.YourCustomView" />

И вы получили

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference

из-за LayoutInflater пытается разобрать class attr:

LayoutInflater Исходный код

//...
View createViewFromTag(View parent, String name, Context context, AttributeSet attrs,
        boolean ignoreThemeAttr) {
    if (name.equals("view")) { // line 724
        name = attrs.getAttributeValue(null, "class"); // line 725
    }

    // Apply a theme wrapper, if allowed and one is specified.
    if (!ignoreThemeAttr) {
        final TypedArray ta = context.obtainStyledAttributes(attrs, ATTRS_THEME);
        final int themeResId = ta.getResourceId(0, 0);
        if (themeResId != 0) {
            context = new ContextThemeWrapper(context, themeResId);
        }
        ta.recycle();
    }

    if (name.equals(TAG_1995)) { // line 738
        // Let's party like it's 1995!
        return new BlinkLayout(context, attrs);
    }
//...
  • В строке 724 он проверяет, что ваш тэг view и получает true
  • Вкл. строка 725 пытается получить класс через class attr и получает null
  • В строке 738 он пытается проверить тэг blink и получает сбой

Кроме того, есть любопытная вещь, разработчики Android добавили пасхальное яйцо, вы можете попробовать:

<view
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    class="blink">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Some text" />
</view>
147
ответ дан Igor Tyulkanov 4 September 2018 в 10:30
поделиться

Через 2 дня я решил эту проблему использовать View вместо view

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#faf4f4"></View>
19
ответ дан saigopi 4 September 2018 в 10:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: