0

I have activity A, from this activity I start activity B, which have a button "ok". When the button is clicked some event happens, this event is processed by the service and the service shows toast in activity B, after that B finished.

The problem is that the Activiti B stops running too fast, and user can't see the toast long enough.

How can I wait while activity A come to the front and shows toast there(in the A)?

4

4 回答 4

0

试试这个,如果它有效...

 1. Create a Thread t1=new Thread(new Runnable(){
public void run()
{
//first Activity
}
});t1.start();
 2. join t1

    try

     {

       t1.join();

     }

 3. Similarly,create other thread with Second Activity

 4. This will make second thread to execute only after First .Giving u the time to view the Toast message

`
于 2013-09-16T10:12:45.570 回答
0

我认为您想在 toast 关闭后完成活动 B。您可以在几秒钟内用户定义 toast。但是 android 不提供任何 API 来执行此操作。

我们可以使用反射来解决这个问题。

假设您想在 toast 显示 10 秒后完成活动 B。

Toast toast = Toast.makeText(this, "ToastMessage", Toast.LENGTH_SHORT);

尝试 {

//从toast中获取“mTN”字段

字段字段 = toast.getClass().getDeclaredField("mTN");

field.setAccessible(true);

对象 obj = field.get(toast);

//获取方法“显示”

方法 method = obj.getClass().getDeclaredMethod("show", null);

//显示吐司

方法.invoke(obj, null);

} 捕捉(异常 e){}

//10秒后关闭toast

新线程(){

公共无效运行(){

尝试 {

睡眠(10000);

} 捕捉(InterruptedException e){

e.printStackTrace();

}

尝试{

方法 method = obj.getClass().getDeclaredMethod("hide", null);

方法.invoke(obj,null);

//到这里结束Activity B

结束();

} 捕捉(异常 e){}

};

}。开始();

于 2013-09-23T03:22:04.800 回答
0

你可以试试这个黑客..

在活动 B 中创建一个处理程序。在处理程序 run() 方法中向您展示在 hadler 和返回到活动 A 的代码之前的 Toast。

 Handler handler = new Handler();
 handler.postDelayed(
        new Runnable() {
            public void run() {
                // Place your code here for returning back to activity A
            }
        }, 1000);

  }   
于 2013-09-16T09:48:28.847 回答
0

尝试这个 :

  • 从 Activity A 和startActivityForResult启动 Activity B
  • 然后onActivityResult检查您从 Activity B 获得的结果是否正常
  • 然后在活动 A 上展示祝酒词。

下面给出了显示如何使用 startActivityForResult 的教程链接:

https://www.google.co.in/search?client=ubuntu&channel=fs&q=startactivity+for+result+tutorial+android&ie=utf-8&oe=utf-8&gws_rd=cr&ei=pNU2UtvSD8uGrgfPxYGACg

于 2013-09-16T09:57:42.203 回答