0

我完全是一个初学者的 android 开发人员,但也是一个优秀的 Java J2SE 开发人员。我只是想知道,当我在开发第一个 Android 应用程序时:在编译它并且在模拟器中运行它时没有遇到问题!我的java类代码是:package com.example.helloworld;

 import android.os.Bundle;
 import android.app.Activity;
 import android.view.Menu;
 import android.widget.Button;

public class MainActivity extends Activity {

//Variables Declaration
private Button one;
private Button two;
private Button three;
private Button four;
private Button five;
private Button six;
private Button seven;
private Button eight;
private Button nine;
private Button plus;
private Button minus;
private Button divide;
private Button multiply;
private Button zero;
private Button dot;
private Button equal;
private Button clr;
//End of Variables Declaration

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    addListenerOnButton();



}

public void addListenerOnButton(){
    one=(Button) this.findViewById(R.id.button1);
    two=(Button) this.findViewById(R.id.button2);
    three=(Button) this.findViewById(R.id.button3);
    four=(Button) this.findViewById(R.id.button4);
    five=(Button) this.findViewById(R.id.button5);
    six=(Button) this.findViewById(R.id.button6);
    seven=(Button) this.findViewById(R.id.button7);
    eight=(Button) this.findViewById(R.id.button8);
    nine=(Button) this.findViewById(R.id.button9);
    zero=(Button) this. findViewById(R.id.button14);
    dot=(Button) this.findViewById(R.id.button15);
    plus=(Button) this.findViewById(R.id.button13);
    equal=(Button) this.findViewById(R.id.button16);
    clr=(Button) this.findViewById(R.id.button17);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


 }

.xml 是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@style/AppBaseTheme"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<LinearLayout
    android:id="@+id/lay"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/numf2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="numberDecimal" />

    <EditText
        android:id="@+id/opf"
        android:layout_width="290dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:inputType="numberDecimal|text" />

    <EditText
        android:id="@+id/numf1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="26dp"
        android:ems="10"
        android:inputType="numberDecimal" >

        <requestFocus />
    </EditText>
</LinearLayout>

<Button
    android:id="@+id/button2"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/button1"
    android:layout_toRightOf="@+id/button1"
    android:text="2"
     />

<Button
    android:id="@+id/button3"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button2"
    android:layout_alignBottom="@+id/button2"
    android:layout_toRightOf="@+id/button2"
    android:text="3"
     />

<Button
    android:id="@+id/button4"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button1"
    android:layout_alignLeft="@+id/button1"
    android:text="4" 
    />

<Button
    android:id="@+id/button5"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button4"
    android:layout_alignBottom="@+id/button4"
    android:layout_toLeftOf="@+id/button3"
    android:text="5"
     />

<Button
    android:id="@+id/button6"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button5"
    android:layout_alignBottom="@+id/button5"
    android:layout_alignLeft="@+id/button3"
    android:text="6"
     />

<Button
    android:id="@+id/button7"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button4"
    android:layout_alignLeft="@+id/button4"
    android:text="7" 
    />

<Button
    android:id="@+id/button8"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button5"
    android:layout_alignLeft="@+id/button5"
    android:text="8"
     />

<Button
    android:id="@+id/button9"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button6"
    android:layout_alignLeft="@+id/button6"
    android:text="9"
     />

<Button
    android:id="@+id/button10"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/button9"
    android:layout_toRightOf="@+id/button6"
    android:text="Button" />

<Button
    android:id="@+id/button11"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/button10"
    android:layout_alignTop="@+id/button6"
    android:text="Button" />

<Button
    android:id="@+id/button12"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button11"
    android:layout_below="@+id/button11"
    android:text="Button" />

<Button
    android:id="@+id/button13"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button12"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/button12"
    android:text="+" />

<Button
    android:id="@+id/button1"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button13"
    android:layout_alignLeft="@+id/lay"
    android:text="1" />

<Button
    android:id="@+id/button14"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button13"
    android:layout_alignBottom="@+id/button13"
    android:layout_alignLeft="@+id/button1"
    android:layout_alignRight="@+id/button2"
    android:text="0" />

<Button
    android:id="@+id/button15"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button3"
    android:layout_alignRight="@+id/button3"
    android:layout_alignTop="@+id/button13"
    android:text="dot" />

<Button
    android:id="@+id/button16"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button13"
    android:layout_alignBottom="@+id/button13"
    android:layout_alignRight="@+id/lay"
    android:layout_toRightOf="@+id/button12"
    android:text="=" />

<Button
    android:id="@+id/button17"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button16"
    android:layout_alignRight="@+id/lay"
    android:layout_alignTop="@+id/button10"
    android:text="CLR" />

 </RelativeLayout>

请帮助我,我进行了很多搜索,但找不到任何解决方案,我的应用程序根本无法启动,不幸的是它停止了。提前致谢

4

1 回答 1

1

我在一个快速测试项目中测试了您的代码(XML 和 Java )。它崩溃了。显然,布局不喜欢android:background其中设置的属性。

从父 RelativeLayout 中删除这一行将修复它:

android:background="@style/AppBaseTheme"

在我的设备上测试:

在此处输入图像描述

最后的父母RelativeLayout会这样看:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rel"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    ....

    ....

</RelativeLayout>

至于为什么它不喜欢该属性是因为它映射到被styles.xml调用的样式:AppBaseTheme。如果您像我一样使用Android 应用程序项目向导创建了项目,我注意到它会创建一个空白的styles.xml,其中只有以下内容:

<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

自然地,属性android:background="@style/AppBaseTheme"没有必要性来提供RelativeLayout与属性兼容的资源android:background

于 2013-05-06T12:23:10.010 回答