【发布时间】:2011-08-09 10:37:43
【问题描述】:
我的要求是一个活动正在调用另一个活动。当我单击父活动中销售路线列表中的单选按钮时,对话框(称为子项)将出现。包含表单。完成微小的表格工作后,它会去上一个地方(需要继续剩下的工作)。
我是这样做的:
Androidmanifest.xml
<activity android:theme="@android:style/Theme.Light.Panel" android:name=".SalesRouteDevitionActivity"
android:label="Sales Route Diviation">
</activity>
那么我的销售路线java部分列表是:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Object o = this.getListAdapter().getItem(position);
keyword = o.toString();
positions = position;
if(position != 0 ){
Bundle bundle = new Bundle();
Intent showContent = new Intent(v.getContext(),SalesRouteDevitionActivity.class);
int postion = position;
String aString = Integer.toString(postion);
bundle.putString("positon", aString);
showContent.putExtras(bundle);
startActivityForResult(showContent, 2);
}else{
Intent intent = new Intent(SalesRouteActivity.this, ListRetailerActivity.class);
Bundle bundle = new Bundle();
bundle.putString("RouteName", keyword);
intent.putExtras(bundle);
View view = SalesActivityGroup.group.getLocalActivityManager().startActivity("", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
SalesActivityGroup.group.replaceView(view);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if( resultCode==Activity.RESULT_OK){
Toast.makeText(this, "Reason has been successfully.", Toast.LENGTH_LONG).show();
if(resultCode==RESULT_OK)
Toast.makeText(this, "Reason has been successfully.", Toast.LENGTH_LONG).show();
else
Toast.makeText(this, "Fail", Toast.LENGTH_LONG).show();
}
// super.onActivityResult(requestCode, resultCode, data);
}
我孩子的活动是:
public class SalesRouteDevitionActivity extends Activity {
private String array_spinner[];
String param1 = "";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.route_diviation_popup);
array_spinner=new String[2];
array_spinner[0]="Rain";
array_spinner[1]="Floods";
Spinner s = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, array_spinner);
s.setAdapter(adapter);
Button button = (Button) findViewById(R.id.submit);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent= new Intent(getApplicationContext(),SalesRouteActivity.class);
Log.i("*********" ," --- " +getParent());
if (getParent() == null) {
setResult(RESULT_OK, intent);
} else {
getParent().setResult(RESULT_OK, intent);
}
finish();
}
});
}
我的问题是完成弹出活动后,它没有转到onActivityResult() 方法
我有一个疑问,如果主题是@android:style/Theme.Dialog,那么我们可以使用onActivityResult()吗?
请帮帮我...
我花了超过一天的时间......可能是小问题......
提前谢谢....
【问题讨论】:
-
无法理解您在第 1 段中试图描述的内容。
-
我的要求是一个活动正在调用另一个活动。当我单击父活动中销售路线列表中的单选按钮时,对话框(称为子项)将出现。包含表单。完成微小的表格工作后,它会去上一个地方(需要继续剩下的工作)。
-
你的代码从哪里中断??
-
startActivityForResult(showContent, 2); & onActivityResult() 是个问题区...
-
你检查我对你上一个问题的回答了吗???
标签: android