1

我必须开发一个 android 应用程序。

在这里,我有管理会话概念。

DetailDescription.class 有一个提交按钮。如果我必须单击此按钮,它将转到 LoginPage.class。如果客户成功登录意味着它转到 AddList.class。

我必须单击后退按钮意味着它应该再次转到 LoginPage.class。但我想用旧数据转到 DetailDescription.class。我该怎么做?

添加列表类:

back = (Button) findViewById(R.id.back);
    back.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(AddList.this,DetailDescription.class);
                startActivity(intent);
            }
        });

DetailDescription.class 有 2 个带有数据的文本视图。

prod_name.setText(product_title);
        pass_categoriesname.setText(subcategory_title);

现在我必须运行应用程序:

从 xml 提要动态显示的 textview 值取决于 product_id。

现在我必须单击提交按钮,然后转到 LoginPage。

如果成功登录意味着它转到 AddList.class。

现在我必须单击 AddList.class 上的后退按钮,这意味着它使用旧数据转到 DetailDescription.class。

我能怎么做 ????

请给我解决方案...

4

2 回答 2

0

更改返回按钮的代码

back = (Button) findViewById(R.id.back);
back.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
           finish();
        }
    });

在您的登录活动中更改您的代码,如下所示

Intent i=new Intent(Login.this,AddList.class);
startActivity(i);
finish(); 

更好的方法:

*从 DetailDescription 活动打开 AddList 活动通过使用函数startActivityForResult而不是startActivity. 这样您就可以处理来自 AddList 活动的返回值。
*然后从 AddList 活动中检查用户是否登录。
*如果没有使用 . 打开登录活动startActivityForResult。这样无论用户登录是否成功,您都可以从登录活动中获取返回值。所以你可以决定进一步的行动。
*在AddList活动中添加详细信息后,您可以在传递结果的同时完成AddList活动。

于 2013-07-30T07:27:44.330 回答
0

不像很多人会告诉你的那样,不要为这样的任务更改后退按钮的代码。有比这更优雅的方法,你可以保留的谷歌代码越多越好——它会带来更好的用户体验,而且没有必要破坏已经为你工作的东西

据我从您的问题(不是很清楚)中可以理解,对您来说最简单的解决方案是添加

android:noHistory="true"

到您的登录活动清单 - 这意味着一旦用户登录,后按将无法返回登录屏幕,因为它没有存储在后台堆栈中,并且应用程序将转到之前的活动- DetailDescription

至于保存数据,您应该查看SharedPreferences,并在您离开活动时将数据保存在表单中,以便在您返回时恢复它们

于 2013-07-30T07:46:06.863 回答