Android:错误膨胀布局
这是我的第一个Android项目,所以我是一个初学者, 我正在改变一个开源游戏,我已经被困了好几天了。 我的目标是在自定义布局的布局之上创建新的视图(图像/文本), 在非活动课上 当我运行该应用程序时,它一开始就会出现错误消息,但我还没有找到问题所在 接下来是我实现视图的类的代码:Android:错误膨胀布局,android,android-layout,android-activity,android-fragments,Android,Android Layout,Android Activity,Android Fragments,这是我的第一个Android项目,所以我是一个初学者, 我正在改变一个开源游戏,我已经被困了好几天了。 我的目标是在自定义布局的布局之上创建新的视图(图像/文本), 在非活动课上 当我运行该应用程序时,它一开始就会出现错误消息,但我还没有找到问题所在 接下来是我实现视图的类的代码: Class Edit Score package org.jfedor.frozenbubble; //imports public class EditScore { static int c
Class Edit Score
package org.jfedor.frozenbubble;
//imports
public class EditScore {
static int currentScore;
Context context;
Resources res;
static TextView scoreText;
@SuppressLint("InflateParams")
public EditScore(Context context) {
currentScore = 0;
this.context = context;
res = context.getResources();
// AttributeSet
// Return an XmlResourceParser through which you can read a generic XML
// resource for the given resource ID.
XmlPullParser parser = res.getXml(R.layout.main);
// A collection of attributes, as found associated with a tag in an XML
// document.
AttributeSet attributes = Xml.asAttributeSet(parser);
// New Layout Inflater
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// Initializing View and TextView
View view = new View(context, attributes);
scoreText = new TextView(context, attributes);
// Inflate a new view hierarchy from the specified xml resource. Throws
// InflateException if there is an error.
view = inflater.inflate(R.id.game, (ViewGroup) view.getParent());
// Get ID from TextView
int layoutTextID = res.getIdentifier("textView1", "id", context.getPackageName());
scoreText = (TextView) view.findViewById(layoutTextID);
}
// Score is being incremented by 5
public static void incrementScoreFive() {
currentScore += 5;
scoreText.setText(String.valueOf(currentScore));
}
// Score is being incremented by 10
public static void incrementScoreTen() {
currentScore += 10;
scoreText.setText(String.valueOf(currentScore));
}
// Score is being incremented by 15
public static void incrementScoreFiveteen() {
currentScore += 15;
scoreText.setText(String.valueOf(currentScore));
}
}
xml文件:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<org.jfedor.frozenbubble.GameView
android:id="@+id/game"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Total Score"
android:textColor="#FFFFFF"
android:textStyle="bold" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingTop="20dp"
android:text="Points"
android:textColor="#FFFFFF"
android:textStyle="bold" />
</FrameLayout>
来自Logcat的错误消息
08-26 23:36:09.481: E/AndroidRuntime(1477): FATAL EXCEPTION: main
08-26 23:36:09.481: E/AndroidRuntime(1477): Process: org.jfedor.frozenbubble, PID: 1477
08-26 23:36:09.481: E/AndroidRuntime(1477): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jfedor.frozenbubble/org.jfedor.frozenbubble.FrozenBubble}: android.view.InflateException: Binary XML file line #6: Error inflating class org.jfedor.frozenbubble.GameView
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.ActivityThread.access$800(ActivityThread.java:135)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.os.Handler.dispatchMessage(Handler.java:102)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.os.Looper.loop(Looper.java:136)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.ActivityThread.main(ActivityThread.java:5017)
08-26 23:36:09.481: E/AndroidRuntime(1477): at java.lang.reflect.Method.invokeNative(Native Method)
08-26 23:36:09.481: E/AndroidRuntime(1477): at java.lang.reflect.Method.invoke(Method.java:515)
08-26 23:36:09.481: E/AndroidRuntime(1477): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
08-26 23:36:09.481: E/AndroidRuntime(1477): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
08-26 23:36:09.481: E/AndroidRuntime(1477): at dalvik.system.NativeStart.main(Native Method)
08-26 23:36:09.481: E/AndroidRuntime(1477): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class org.jfedor.frozenbubble.GameView
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.createView(LayoutInflater.java:620)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
08-26 23:36:09.481: E/AndroidRuntime(1477): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.Activity.setContentView(Activity.java:1929)
08-26 23:36:09.481: E/AndroidRuntime(1477): at org.jfedor.frozenbubble.FrozenBubble.onCreate(FrozenBubble.java:259)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.Activity.performCreate(Activity.java:5231)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
08-26 23:36:09.481: E/AndroidRuntime(1477): ... 11 more
08-26 23:36:09.481: E/AndroidRuntime(1477): Caused by: java.lang.reflect.InvocationTargetException
08-26 23:36:09.481: E/AndroidRuntime(1477): at java.lang.reflect.Constructor.constructNative(Native Method)
08-26 23:36:09.481: E/AndroidRuntime(1477): at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.createView(LayoutInflater.java:594)
08-26 23:36:09.481: E/AndroidRuntime(1477): ... 22 more
08-26 23:36:09.481: E/AndroidRuntime(1477): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f060000 type #0x12 is not valid
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2314)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.content.res.Resources.getLayout(Resources.java:939)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.inflate(LayoutInflater.java:395)
08-26 23:36:09.481: E/AndroidRuntime(1477): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
08-26 23:36:09.481: E/AndroidRuntime(1477): at org.jfedor.frozenbubble.EditScore.<init>(EditScore.java:58)
08-26 23:36:09.481: E/AndroidRuntime(1477): at org.jfedor.frozenbubble.GameView.<init>(GameView.java:857)
08-26 23:36:09.481: E/AndroidRuntime(1477): ... 25 more
08-26 23:40:59.557: E/AndroidRuntime(1549): FATAL EXCEPTION: main
08-26 23:40:59.557: E/AndroidRuntime(1549): Process: org.jfedor.frozenbubble, PID: 1549
08-26 23:40:59.557: E/AndroidRuntime(1549): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jfedor.frozenbubble/org.jfedor.frozenbubble.FrozenBubble}: android.view.InflateException: Binary XML file line #6: Error inflating class org.jfedor.frozenbubble.GameView
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.ActivityThread.access$800(ActivityThread.java:135)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.os.Handler.dispatchMessage(Handler.java:102)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.os.Looper.loop(Looper.java:136)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.ActivityThread.main(ActivityThread.java:5017)
08-26 23:40:59.557: E/AndroidRuntime(1549): at java.lang.reflect.Method.invokeNative(Native Method)
08-26 23:40:59.557: E/AndroidRuntime(1549): at java.lang.reflect.Method.invoke(Method.java:515)
08-26 23:40:59.557: E/AndroidRuntime(1549): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
08-26 23:40:59.557: E/AndroidRuntime(1549): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
08-26 23:40:59.557: E/AndroidRuntime(1549): at dalvik.system.NativeStart.main(Native Method)
08-26 23:40:59.557: E/AndroidRuntime(1549): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class org.jfedor.frozenbubble.GameView
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.createView(LayoutInflater.java:620)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
08-26 23:40:59.557: E/AndroidRuntime(1549): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.Activity.setContentView(Activity.java:1929)
08-26 23:40:59.557: E/AndroidRuntime(1549): at org.jfedor.frozenbubble.FrozenBubble.onCreate(FrozenBubble.java:259)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.Activity.performCreate(Activity.java:5231)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
08-26 23:40:59.557: E/AndroidRuntime(1549): ... 11 more
08-26 23:40:59.557: E/AndroidRuntime(1549): Caused by: java.lang.reflect.InvocationTargetException
08-26 23:40:59.557: E/AndroidRuntime(1549): at java.lang.reflect.Constructor.constructNative(Native Method)
08-26 23:40:59.557: E/AndroidRuntime(1549): at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.createView(LayoutInflater.java:594)
08-26 23:40:59.557: E/AndroidRuntime(1549): ... 22 more
08-26 23:40:59.557: E/AndroidRuntime(1549): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f060000 type #0x12 is not valid
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2314)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.content.res.Resources.getLayout(Resources.java:939)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.inflate(LayoutInflater.java:395)
08-26 23:40:59.557: E/AndroidRuntime(1549): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
08-26 23:40:59.557: E/AndroidRuntime(1549): at org.jfedor.frozenbubble.EditScore.<init>(EditScore.java:58)
08-26 23:40:59.557: E/AndroidRuntime(1549): at org.jfedor.frozenbubble.GameView.<init>(GameView.java:857)
08-26 23:40:59.557: E/AndroidRuntime(1549): ... 25 more
08-26 23:36:09.481:E/AndroidRuntime(1477):致命异常:main
08-26 23:36:09.481:E/AndroidRuntime(1477):进程:org.jfedor.frozenbuble,PID:1477
08-26 23:36:09.481:E/AndroidRuntime(1477):java.lang.RuntimeException:无法启动活动组件信息{org.jfedor.frozenbuble/org.jfedor.frozenbuble.frozenbuble}:android.view.InflateException:二进制XML文件行#6:膨胀类org.jfedor.frozenbuble.GameView时出错
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.app.ActivityThread.access$800(ActivityThread.java:135)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.os.Handler.dispatchMessage(Handler.java:102)上
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.os.Looper.loop(Looper.java:136)上
08-26 23:36:09.481:E/AndroidRuntime(1477):位于android.app.ActivityThread.main(ActivityThread.java:5017)
08-26 23:36:09.481:E/AndroidRuntime(1477):位于java.lang.reflect.Method.Invokenactive(本机方法)
08-26 23:36:09.481:E/AndroidRuntime(1477):位于java.lang.reflect.Method.invoke(Method.java:515)
08-26 23:36:09.481:E/AndroidRuntime(1477):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
08-26 23:36:09.481:E/AndroidRuntime(1477):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
8-26 23:36:09.481:E/AndroidRuntime(1477):在dalvik.system.NativeStart.main(本机方法)
08-26 23:36:09.481:E/AndroidRuntime(1477):由以下原因引起:android.view.InflateException:二进制XML文件行#6:对类org.jfedor.frozenbuble.GameView进行膨胀时出错
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.view.LayoutInflater.createView(LayoutInflater.java:620)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.view.LayoutInflater.inflate(LayoutInflater.java:492)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.view.LayoutInflater.inflate(LayoutInflater.java:397)
08-26 23:36:09.481:E/AndroidRuntime(1477):在安卓系统中.view.LayoutInflater.inflate(LayoutInflater.java:353)
08-26 23:36:09.481:E/AndroidRuntime(1477):位于com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
08-26 23:36:09.481:E/AndroidRuntime(1477):位于android.app.Activity.setContentView(Activity.java:1929)
08-26 23:36:09.481:E/AndroidRuntime(1477):位于org.jfedor.frozenbuble.frozenbuble.onCreate(frozenbuble.java:259)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.app.Activity.performCreate(Activity.java:5231)上
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)上
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
08-26 23:36:09.481:E/AndroidRuntime(1477):。。。还有11个
08-26 23:36:09.481:E/AndroidRuntime(1477):由以下原因引起:java.lang.reflect.InvocationTargetException
08-26 23:36:09.481:E/AndroidRuntime(1477):位于java.lang.reflect.Constructor.constructNative(本机方法)
08-26 23:36:09.481:E/AndroidRuntime(1477):位于java.lang.reflect.Constructor.newInstance(Constructor.java:423)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.view.LayoutInflater.createView(LayoutInflater.java:594)
08-26 23:36:09.481:E/AndroidRuntime(1477):。。。还有22个
08-26 23:36:09.481:E/AndroidRuntime(1477):原因:android.content.res.Resources$NotFoundException:资源ID#0x7f060000类型#0x12无效
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.content.res.Resources.loadXmlResourceParser(Resources.java:2314)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.content.res.Resources.getLayout(Resources.java:939)
08-26 23:36:09.481:E/AndroidRuntime(1477):在android.view.LayoutInflater.inflate(LayoutInflater.java:395)
08-26 23:36:09.481:E/AndroidRuntime(1477):在安卓系统中.view.LayoutInflater.inflate(LayoutInflater.java:353)
08-26 23:36:09.481:E/AndroidRuntime(1477):在org.jfedor.frozenbuble.EditScore(EditScore.java:58)
08-26 23:36:09.481:E/AndroidRuntime(1477):位于org.jfedor.frozenbuble.GameView。(GameView.java:857)
08-26 23:36:09.481:E/AndroidRuntime(1477):。。。25多
08-26 23:40:59.557:E/AndroidRuntime(1549):致命异常:main
08-26 23:40:59.557:E/AndroidRuntime(1549):进程:org.jfedor.frozenbuble,PID:1549
08-26 23:40:59.557:E/AndroidRuntime(1549):java.lang.RuntimeException:无法启动活动组件信息{org.jfedor.frozenbuble/org.jfedor.frozenbuble.frozenbuble}:android.view.InflateException:二进制XML文件行#6:膨胀类org.jfedor.frozenbuble.GameView时出错
08-26 23:40:59.557:E/AndroidRuntime(1549):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
08-26 23:40:59.557:E/AndroidRuntime(1549):在android.app.ActivityThread.h