Java 我如何在android中实例化一个类,它也是一个活动?
在android中,我如何为Java 我如何在android中实例化一个类,它也是一个活动?,java,android,constructor,instantiation,oncreate,Java,Android,Constructor,Instantiation,Oncreate,在android中,我如何为类创建一个构造函数,它也是一个活动 我的问题是,我想要两个活动类(estimateFare和Mapping),它们都将数据发送到活动类(CalculateFare)。映射从实时网络信息获取数据,而estimateFare从用户输入获取数据。我希望CalculateFare能够使用任一类的数据来执行计算,尽管我在onCreate方法和CalculateFare的构造函数中遇到了问题。当在应用程序运行时调用该类时,我在LogCat中得到以下消息: Unable to in
类
创建一个构造函数
,它也是一个活动
我的问题是,我想要两个活动类(estimateFare和Mapping),它们都将数据发送到活动类(CalculateFare
)。映射从实时网络信息获取数据,而estimateFare从用户输入获取数据。我希望CalculateFare
能够使用任一类的数据来执行计算,尽管我在onCreate
方法和CalculateFare
的构造函数中遇到了问题。当在应用程序运行时调用该类时,我在LogCat
中得到以下消息:
Unable to instantiate activity ComponentInfo.
CalculateFire中的一段代码如下:
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()
{
任何值得赞赏的建议都可以将数据移动到一个单独的类中,该类根本不是活动,而是在活动之间共享的。数据可以结构化为来自用户的数据和来自网络的数据。例如,有关在活动之间共享数据的方法,请参见
当框架在需要活动时创建另一个实例时,实例化碰巧是活动的CalculateFare对象将没有帮助。将数据移动到一个单独的类中,该类根本不是活动,而是在活动之间共享的。数据可以结构化为来自用户的数据和来自网络的数据。例如,有关在活动之间共享数据的方法,请参见 当框架在需要活动时创建另一个实例时,实例化碰巧是活动的CalculateFare对象将没有帮助 在android中,我如何为同时也是活动的类创建构造函数 你没有 我想要两个活动类(estimateFare和Mapping),它们都将数据发送到活动类(CalculateFare) 除了通过
startActivity()
外,这些类都不会相互接触。通过Intent
extras或通过中央数据模型(如数据库)在活动之间传递数据
当在应用程序运行时调用该类时,我在LogCat中得到以下消息
这是因为您需要删除构造函数
在android中,我如何为同时也是活动的类创建构造函数
你没有
我想要两个活动类(estimateFare和Mapping),它们都将数据发送到活动类(CalculateFare)
除了通过startActivity()
外,这些类都不会相互接触。通过Intent
extras或通过中央数据模型(如数据库)在活动之间传递数据
当在应用程序运行时调用该类时,我在LogCat中得到以下消息
这是因为您需要删除构造函数。活动不能有用户定义的构造函数,只有默认的构造函数;它们只能通过意图创建间接实例化。如果您需要在活动之间传递数据,可以通过将额外数据放入捆绑包来实现,例如:
bundle.putInt("dist",dist);
然后,您可以通过以下方式从bundle中提取数据:
int dist = bundle.getInt("dist");
在开始活动之前放置额外内容:
Intent i = new Intent(this, CalculateFare.class);
Bundle b = new Bundle();
b.putInt("dist",dist);
i.putExtras(b);
startActivity(i);
然后阅读onCreate方法中的附加内容:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Bundle b = getIntent().getExtras();
int dist;
if (b != null)
{
dist = b.getInt("dist");
}
}
活动不能有用户定义的构造函数,只能有默认构造函数;它们只能通过意图创建间接实例化。如果您需要在活动之间传递数据,可以通过将额外数据放入捆绑包来实现,例如:
bundle.putInt("dist",dist);
然后,您可以通过以下方式从bundle中提取数据:
int dist = bundle.getInt("dist");
在开始活动之前放置额外内容:
Intent i = new Intent(this, CalculateFare.class);
Bundle b = new Bundle();
b.putInt("dist",dist);
i.putExtras(b);
startActivity(i);
然后阅读onCreate方法中的附加内容:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Bundle b = getIntent().getExtras();
int dist;
if (b != null)
{
dist = b.getInt("dist");
}
}
我试图在其内部实例化活动,以将其传递给另一个类的方法。我忘记了记忆错误。因此,我将该方法放在活动本身中,并将其作为此对象传递。我尝试在活动本身中实例化活动,以将其传递给另一个类的方法。我忘记了记忆错误。因此,我将该方法放在活动本身中,并将其作为此对象传递。而
onCreate
需要一个@Override
@commonware谢谢,非常感谢:)而onCreate
需要一个@Override
@commonware谢谢,非常感谢:)嘿,谢谢:)我还有一个问题,我应该在onCreate方法中做检索语句吗?是的。我已经把它添加到我的答案中了。嘿,谢谢:)我还有一个问题,我应该在onCreate方法中做检索语句吗?是的。谢谢,非常感谢:)谢谢,非常感谢:)