android中屏幕之间的导航 在我的应用程序中,我考虑有2个屏幕A和屏幕B。在屏幕A中,我有2个编辑框和1个旋转框,当第一次出现时,屏幕将不显示2个编辑框。如果用户从旋转器中选择任何值,它将进入屏幕B,因为我从用户那里得到了一些值,如果用户单击“确定”,它将进入屏幕A。现在它应该显示两个编辑框。所以我完成了startactivityforresult,但它没有进入该部分。请帮助我。提前感谢
我的编码: 屏幕B:android中屏幕之间的导航 在我的应用程序中,我考虑有2个屏幕A和屏幕B。在屏幕A中,我有2个编辑框和1个旋转框,当第一次出现时,屏幕将不显示2个编辑框。如果用户从旋转器中选择任何值,它将进入屏幕B,因为我从用户那里得到了一些值,如果用户单击“确定”,它将进入屏幕A。现在它应该显示两个编辑框。所以我完成了startactivityforresult,但它没有进入该部分。请帮助我。提前感谢,android,start-activity,Android,Start Activity,我的编码: 屏幕B: ok.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub
ok.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
// TODO Auto-generated method stub
Intent intent=new Intent(getApplicationContext(),BudgetJulyo4Activity.class);
startActivityForResult(intent, 1);
}
});
屏幕A:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// Result OK.d.
System.out.println("Inside start"); -------------->This line is not printing.SO what i am doing wrong.
if (requestCode == 1)
{
// do something good
System.out.println("Inside start if");
EditText date=(EditText)findViewById(R.id.startdate);
EditText NoOfRecc=(EditText)findViewById(R.id.editText3);
date.setVisibility(View.VISIBLE);
NoOfRecc.setVisibility(View.VISIBLE);
}
}
虽然我看不到您的代码的其余部分,但您发布的内容看起来还行,您的代码在正确的行上。但是,startActivityForResults()是一个需要重写的底层活动函数。将您的呼叫更改为以下应该意味着它将被呼叫
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
super.onActivityResult(requestCode, resultCode, intent);
// Result OK.d.
System.out.println("Inside start"); -------------->This line is not printing.SO what i am doing wrong.
if (requestCode == 1)
{
// do something good
System.out.println("Inside start if");
EditText date=(EditText)findViewById(R.id.startdate);
EditText NoOfRecc=(EditText)findViewById(R.id.editText3);
date.setVisibility(View.VISIBLE);
NoOfRecc.setVisibility(View.VISIBLE);
}
}
谢谢Richard Lewin..但问题仍然存在..我将上述代码放在屏幕A的oncreate()之后。是否正确?Prakash,我刚刚重新查看了您的问题,您表示在屏幕B中有srtartActivityForResult()调用,在屏幕A中有onActivityResult。如果是这种情况,它将不起作用。startActivityForResult()和onActivityResult()必须位于同一活动(同一屏幕)中。请使用startActivityForResult()调用屏幕A启动屏幕B。然后,当从屏幕B返回屏幕A时,它将被触发。Richard Lewin…仍然有这个问题…Richard Lewin,正如我在帖子中解释的那样,还有其他方法吗???如果在屏幕B上,您通过新的意图显示屏幕A,请不要。尝试在屏幕B的按钮onClickListner中调用finish()。即@Override public void onClick(视图arg0){//TODO自动生成的方法stub finish();}谢谢投反对票的人。你能告诉我你对这个问题投了反对票吗?这样我以后的帖子就不会重复了。。