在android中,如何为同时也是constructorclass创建Activity

我的问题是,我想有两个活动类(estimateFare和Mapping),它们都将数据发送到活动类(CalculateFare)。映射从实时网络信息中获取数据,而estimateFare从用户输入中获取数据。我希望CalculateFare能够使用任何一个类中的数据来执行计算,尽管我在onCreate方法和CalculateFare的构造函数方面遇到了麻烦。当在应用程序运行时调用该类时,我在LogCat中收到以下消息;

Unable to instantiate activity ComponentInfo.


CalculateFare的片段如下:

    public class CalculateFare extends Activity {
        TextView t;
        static long length;
        static int dist;
        static int mMonth;
        static int mDay;
        public static double fare;
        double rate1 = 0, rate2a, rate2b, rate3, rate4a, rate4b;
        int remDist = 0;
        double remLength;
        private static int TTS_DATA_CHECK = 1;
        private TextToSpeech tts = null;
        private boolean ttsIsInit = false;



public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fare);

}

public CalculateFare(long length, int dist, int mMonth, int mDay)
{
}

public static void setLength(long l)
{
    length = l;
}

public static void setDist(int d)
{
    dist = d;
}

public static void setDate(int m, int d)
{
    mMonth = m;
    mDay = d;
}

public void calc()
{


任何建议非常感谢

最佳答案

将数据移到一个单独的类中,该类根本不是活动,而是在活动之间共享的。数据可以构造为来自用户的数据和来自网络的数据。有关活动之间共享数据的方法,请参见例如this thread

当框架需要活动时创建另一个实例时,实例化恰好是活动的CalculateFare对象将无济于事。

08-03 14:26