首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setContentView错误消息

setContentView错误消息
EN

Stack Overflow用户
提问于 2014-02-16 22:18:11
回答 3查看 1.1K关注 0票数 0

当我尝试测试我的应用程序时,我会收到以下错误:

代码语言:javascript
复制
02-16 13:05:09.251: E/AndroidRuntime(1346): FATAL EXCEPTION: main
02-16 13:05:09.251: E/AndroidRuntime(1346): Process: biz.midl.debteliminator, PID: 1346
02-16 13:05:09.251: E/AndroidRuntime(1346): java.lang.RuntimeException: Unable to start activity ComponentInfo{biz.midl.debteliminator/biz.midl.debteliminator.MainActivity}: java.lang.RuntimeException: Binary XML file line #21: You must supply a layout_width attribute.
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.os.Handler.dispatchMessage(Handler.java:102)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.os.Looper.loop(Looper.java:136)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.ActivityThread.main(ActivityThread.java:5017)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at java.lang.reflect.Method.invokeNative(Native Method)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at java.lang.reflect.Method.invoke(Method.java:515)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at dalvik.system.NativeStart.main(Native Method)
02-16 13:05:09.251: E/AndroidRuntime(1346): Caused by: java.lang.RuntimeException: Binary XML file line #21: You must supply a layout_width attribute.
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:492)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:5948)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:6117)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.widget.LinearLayout$LayoutParams.<init>(LinearLayout.java:1831)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1743)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:58)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:757)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.Activity.setContentView(Activity.java:1929)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at biz.midl.debteliminator.MainActivity.onCreate(MainActivity.java:25)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.Activity.performCreate(Activity.java:5231)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
02-16 13:05:09.251: E/AndroidRuntime(1346):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)

这一行(25)如下:

代码语言:javascript
复制
public class MainActivity extends Activity {

double interestRate;
double r, r1;
int nRemaining, nStarting, nDifference, originalBalance,
        outstandingBalance, originalTerm;
double minPayment, newPayment, newPmt;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);    //<------Error is here

我的布局叫做“主”。

这是我的说明,以防错误出现在这里:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>

代码语言:javascript
复制
<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="19" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="biz.midl.debteliminator.MainActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar.Fullscreen" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

如果有任何帮助,我将不胜感激。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-16 22:21:05

正如LogCat所述,您需要在MainActivity文件中定义MainActivity参数。它应该位于您的res/layout/文件夹中,名为activity_main.xml或类似的名称。

票数 2
EN

Stack Overflow用户

发布于 2014-02-16 22:22:15

您的日志显示您需要使用以下内容来暗示布局:

代码语言:javascript
复制
Binary XML file line #21: You must supply a layout_width attribute

为此,请定位布局的XML文件并添加以下行:

代码语言:javascript
复制
android:layout_width="fill_parent"
票数 2
EN

Stack Overflow用户

发布于 2014-02-16 22:22:18

二进制XML文件行#21:您必须提供一个layout_width属性

检查main.xml的第21行,确保视图具有layout_width属性

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21817488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档