おはようございます、次のフラグメントがあります。
public class NewIntervPhotoFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if(container == null) {
return null;
}
// Inflate the layout for this fragment
return inflater.inflate(R.layout.newintervphoto, container, false);
}
//rest of code goes here
XML のレイアウト:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/newintervPhotoDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/newintervPhotoDescription"
android:inputType="textCapSentences|textMultiLine"
android:lines="10"
android:gravity="left|top"/>
<Button
android:id="@+id/newintervPhotoItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="@string/TakePhoto"
android:textStyle="@style/TextStyle"
android:layout_below="@id/newintervPhotoDescription"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
そしてstyles.xmlで:
<style
name="TextStyle">
<item name="android:textSize">20sp</item>
<item name="android:textColor">#FFFFFF</item>
</style>
上記のスタイルは、同じプロジェクトの他の xml ファイルで問題なく使用されます。この形式では、致命的な例外 (logcat の一部) が発生します。
01-01 11:49:32.635: E/AndroidRuntime(780): FATAL EXCEPTION: main
01-01 11:49:32.635: E/AndroidRuntime(780): java.lang.RuntimeException: Unable to start activity ComponentInfo{cz.triinfo.terminal/cz.triinfo.terminal.ui.NewIntervPhotoActivity}: android.view.InflateException: Binary XML file line #28: Error inflating class <unknown>
01-01 11:49:32.635: E/AndroidRuntime(780): Caused by: android.view.InflateException: Binary XML file line #28: Error inflating class <unknown>
01-01 11:49:32.635: E/AndroidRuntime(780): Caused by: java.lang.reflect.InvocationTargetException
01-01 11:49:32.635: E/AndroidRuntime(780): Caused by: java.lang.NumberFormatException: unable to parse '@2131165192' as integer
今、例外で置き換えるandroid:textStyle="@style/TextStyle"
とandroid:textSize=20sp android:textColor=FFFFFF
消えます。私の質問は次のとおりです。最初のケース、つまり xml で何が間違っていましたかandroid:textStyle
。より一般的には、フラグメントでスタイルを使用できますか?
前もって感謝します!styles.xml は res/values に配置され、次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="TextStyle">
<item name="android:textSize">20sp</item>
<item name="android:textColor">#FFFFFF</item>
</style>
</resources>
したがって、問題は実際には他の場所にあります。