gpt4 book ai didi

Android 到弹窗的一个activity

转载 作者:行者123 更新时间:2023-11-29 15:31:01 35 4
gpt4 key购买 nike

我的要求是:列出所有销售路线并突出显示默认值,它应该是第一个选项。如果销售人员选择其他选项(默认未选择),则弹出窗口应该出现。弹出窗口包含一个表单,它与 DB 对话。提交弹出窗口表单后,它返回上一个屏幕,需要允许转到其他位置。

查看我的代码

这个初始列表 Activity :

    ArrayList<Object> routeList = getWmRoute();
ArrayList<String> routhPath = new ArrayList<String>();
for(int i = 0; i<routeList.size();i++){
routhPath.add(((WMRoute) routeList.get(i)).getDescription());
}

ArrayAdapter ad = new ArrayAdapter(this,android.R.layout.simple_list_item_single_choice,routhPath);
setListAdapter(ad);
final ListView list=getListView();
list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
list.setItemsCanFocus(true);
list.setTextFilterEnabled(true);
list.setItemChecked(0,true);
list.setSelection(0);

这是监听方法

   @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
if(position !=0 ){
Bundle bundle = new Bundle();
int postion = position;
String aString = Integer.toString(postion);
bundle.putString("positon", aString);
Intent showContent = new Intent(getApplicationContext(),SalesRouteDevitionActivity.class);
// startActivityForResult(showContent,0);
startActivity(showContent);

}
}

这是我的 SalesRouteDevitionActivity 类

   array_spinner=new String[2];
array_spinner[0]="Rain";
array_spinner[1]="Floods";
Bundle bundle = this.getIntent().getExtras();
param1 = bundle.getString("param1");

Spinner s = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, array_spinner);
s.setAdapter(adapter);
final Button button = (Button) findViewById(R.id.submit);

button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(SalesRouteDevitionActivity.this, "Beep Bop", Toast.LENGTH_SHORT).show();
Intent showContent = new Intent(getApplicationContext(),SalesRouteActivity.class);

Bundle bundle = new Bundle();
bundle.putString("position", param1);
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();
startActivity(showContent);


}
});

这是我的 list 文件

  <activity android:theme="@android:style/Theme.Dialog" android:name=".SalesRouteDevitionActivity"
android:label="Sales Route Diviation">
</activity>

完成弹出窗口工作后,我们如何才能转到特定位置的上一个 Activity ?

请帮帮我...

提前致谢

最佳答案

无论你在哪里启动弹出窗口,都可以通过调用 startActivityForResult(your_intent,requestCode) 使用 intent 来调用它

它将启动 Activity ,并在弹出 Activity 中这样做

Bundle bundle = new Bundle();
bundle.putString("position", param1);

Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();

因此弹出窗口将完成他的 Activity 并返回到将调用结果的上一个 Activity

并在您的 Activity 中以这种方式覆盖 onActivityResult

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==1){
if(resultCode==RESULT_OK)
Toast.makeText(this, "SUCCESS", Toast.LENGTH_LONG).show();
else
Toast.makeText(this, "Fail", Toast.LENGTH_LONG).show();
}
}

关于Android 到弹窗的一个activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6757987/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com