2012-11-28 121 views
1

我有一个使用IntelliJ 12社区版IDE的Android程序。我需要在使用按钮创建的不同布局(.xml)之间导航。但是,每当我使用模拟器运行它时,它只会打开main.xml屏幕,每当我点击按钮时,它会说:“不幸的是,ITax已停止工作。”多个布局Android应用程序

这是我的MyActivity.java类代码:

package com.example.ITax; 

import android.app.Activity; 
import android.content.Intent; 
android.os.Bundle; 
android.view.View; 
import android.widget.Button; 



public class MyActivity extends Activity { 


@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Button button1 = (Button)findViewById(R.id.btn_info); 
    Button button2 = (Button)findViewById(R.id.btn_tutorial); 
    Button button3 = (Button)findViewById(R.id.btn_calc); 
    Button button4 = (Button)findViewById(R.id.btn_back_from_calcu); 
    Button button5 = (Button)findViewById(R.id.btn_next_from_calcu); 
    Button button6 = (Button)findViewById(R.id.btn_back_from_monthlyorannual); 
    Button button7 = (Button)findViewById(R.id.btn_next_from_monthlyorannual); 
    Button button8 = (Button)findViewById(R.id.btn_back_from_civilstatus); 
    Button button9 = (Button)findViewById(R.id.btn_next_from_civilstatus); 
    Button button10 = (Button)findViewById(R.id.btn_back_from_inputamount_monthly); 
    Button button11 = (Button)findViewById(R.id.btn_compute_from_monthly); 
    Button button12 = (Button)findViewById(R.id.btn_back_from_outputamount_monthly); 
    Button button13 = (Button)findViewById(R.id.btn_home_from_outputamount_monthly); 

} 

public void Open_BasicInfo() 
{ 
    Intent i = new Intent(this, OpenBasicInfo.class); 

    startActivity(i); 
} 

public void Open_Tutorial() 
{ 
    Intent i = new Intent(this, OpenTutorial.class); 
    startActivity(i); 
} 

public void Open_Calculator() 
{ 
    Intent i = new Intent(this, OpenCalculator.class); 
    startActivity(i); 
} 

public void Open_MonthlyOrAnnually() 
{ 
    Intent i = new Intent(this, OpenMonthlyOrAnnually.class); 
    startActivity(i); 
} 

public void Open_CivilStatus() 
{ 
    Intent i = new Intent(this, OpenCivilStatus.class); 
    startActivity(i); 
} 

public void Open_InputAmountsFromMonthly() 
{ 
    Intent i = new Intent(this, OpenInputAmountsFromMonthly.class); 
    startActivity(i); 
} 

public void Open_OutputAmountsFromMonthly() 
{ 
    Intent i = new Intent(this, OutputAmountsFromMonthly.class); 
    startActivity(i); 
} 

public void Open_Main() 
{ 
    Intent i = new Intent(this, MyActivity.class); 
    startActivity(i); 
} 

} 

我已经创建了一个类为每个布局而在Android的manifest声明是这样的:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.example.ITax" 
     android:versionCode="1" 
     android:versionName="ITax 1.0"> 
<uses-sdk android:minSdkVersion="1"/> 
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> 

    <activity android:name=".MyActivity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 

    <activity android:name=".OpenCalculator"> 

    </activity> 

    <activity android:name=".OpenCivilStatus"> 

    </activity> 

    <activity android:name=".OpenInputAmountsFromMonthly"> 

    </activity> 

    <activity android:name=".OutputAmountsFromMonthly"> 

    </activity> 

    <activity android:name=".OpenTutorial"> 

    </activity> 

    <activity android:name=".OpenBasicInfo"> 

    </activity> 

    <activity android:name=".OpenMonthlyOrAnnually"> 

    </activity> 

    <activity android:name=".OpenMain"> 

    </activity> 

    </application> 
</manifest> 

我已经把在所有按钮中都使用android:onClick =“name of method”。

帮助!我在这里做了什么似乎是错误的? :(

我在模拟器应用程序停止工作时,我已经点击的按钮> <

+1

你有没有在按钮上应用onclicklistener? – Ashwani

+0

哦,是的!但是每当我在MyActvity.Java中的代码中包含其他布局的按钮时,我就使用模拟器运行它,它也停止工作。 –

+0

还是谢谢你的回答!^___^ –

回答

0

为了符合XML的android:。的onclick =“方法名”您的活动必须实现的方法,看起来像这...

public void MethodName(View v){} 

你的所有的onclick事件中缺少通过查看参数。

我个人不喜欢使用XML,因为如果你把代码中的拼写错误。您的活动会崩溃导致它不能充气xml。这种情况让你容易出现愚蠢的错误。 Here a link in more details about all the ways to do a button onclick event最终取决于你。

+0

oww!让我试试吧! –

+0

非常感谢!这就是我真的错过了!哦,很多谢谢你!真!上帝保佑! –

+0

uhmm ..你如何设计你的程序,如果它有很多不同的屏幕显示? –