Я работаю над проектом Android и создаю настраиваемое представление списка. Представление списка содержит несколько текстовых представлений, и я создаю стиль для своего текстового представления, поэтому мне не нужно дублировать один и тот же стиль снова и снова.
Ниже мой макет
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/txtFirstOccurred"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/CrashGroup"/>
<TextView android:id="@+id/txtLastOccurred"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/CrashGroup"/>
</LinearLayout>
Ниже мой стиль для моего текстового просмотра
<style name="CrashGroup">
<item name="android:singleLine">false</item>
<item name="android:textSize">@android:style/TextAppearance.Small</item>
<item name="android:gravity">center_vertical</item>
</style>
Ниже показано, как я увеличиваю свой XML для отображения в моем представлении списка.
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
try
{
convertView = LayoutInflater.from(getContext()).inflate(R.layout.android_crash_group_layout, null);
TextView txtFirstOccurred = (TextView)convertView.findViewById(R.id.txtFirstOccurred);
txtFirstOccurred.setText(getItem(position).getFirstOccurred());
TextView txtLastOccurred = (TextView)convertView.findViewById(R.id.txtLastOccurred);
txtLastOccurred.setText(getItem(position).getLastOccurred());
return convertView;
}
catch (Exception ex)
{
Log.e(TAG, ex.toString());
return null;
}
}
Я получаю следующую ошибку:
Кажется, это как-то связано со стилем, как будто я удаляю этот атрибут стиля из текстовых представлений, похоже, он работает нормально.
Я думаю, что
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/txtFirstOccurred"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/CrashGroup"/>
<TextView android:id="@+id/txtLastOccurred"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/CrashGroup"/>
</LinearLayout>
, который вы возвращаете, иногда бывает <style name="CrashGroup">
<item name="android:singleLine">false</item>
<item name="android:textSize">@android:style/TextAppearance.Small</item>
<item name="android:gravity">center_vertical</item>
</style>
, потому что обработка convertView сложна.
catch (Exception ex) { Log.e(TAG, ex.toString()); return null; }
- person A.S.   schedule 02.01.2015android.view.InflateException: Binary XML file line #6: Error inflating class <unknown>
не следует использовать _2_ вместо _3_ и третий аргумент _4_ - person Boardy   schedule 02.01.2015