向用户显示成功消息

时间:2013-12-24 07:46:30

标签: android

最近我开始探索android,并且无法理解如何实现特定任务。

请在下面找到详细信息:

有两项活动:MainActivity和AddWordActivity。当用户单击MainActivity上的按钮时,他将移动到AddWordActivity。通过此活动,用户可以添加单词。

输入相关详细信息后,当用户点击添加按钮时,我想再次将用户重定向到MainActivity,并在MainActivity上方显示一个文本,如'Word added successfully'。怎么能实现这一目标?这种方法的具体名称是什么?

我一直在搜索这个显示通知,但看起来这完全是另一回事。

4 个答案:

答案 0 :(得分:4)

使用

启动AddWordActivity
startActivityForResult(intent, REQUEST_CODE);

在MainActivity中,实现

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data){
   if(requestCode==REQUEST_CODE && resultCode == RESULT_OK){
       Toast.makeText(this, "Succes", Toast.LENGTH_SHORT).show();
    }
}

要从AddWordActivity返回MainActivity,请使用:

setResult(RESULT_OK);
finish();

答案 1 :(得分:3)

早上懒惰模式:您只需在 AddWordActivity

中显示吐司消息并完成
Toast.makeText(this, "Word added", Toast.LENGTH_LONG).show();
finish();

否则您需要为结果启动 AddWordActivity 并将结果返回 MainActivity

在MainActivity中

public static final REQUEST_CODE = 1;
startActivityForResult(intent, REQUEST_CODE); // # When button clicked

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data)
{
   if (requestCode == REQUEST_CODE && resultCode == AddWordActivity.RESULT_OK) // # Will return here when AddWordActivity is finished with a result on intent
   {
       // # TODO : Implement user notification here
   }
}

在AddWordActivity中

public static final RESULT_OK = 8;

// # When the word is added
setResult(RESULT_OK);
finish();

答案 2 :(得分:1)

启动AddWordActivity:

Intent i = new Intent(this, AddWordActivity.class);
i.putExtra("Value1", "This value one for ActivityTwo ");
i.putExtra("Value2", "This value two ActivityTwo");

Set the request code to any code you like, you can identify the
callback via this code

startActivityForResult(i, REQUEST_CODE);

在MainActivity中实现:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) {
if (data.hasExtra("returnKey1")) {
  Toast.makeText(this, "Success "+"and Intent value:"+data.getExtras().getString("returnKey1"),
    Toast.LENGTH_SHORT).show();
    }
  }
} 

将以下内容添加到您的AddWordActivity:

  Prepare data intent 
  Intent data = new Intent();
  data.putExtra("returnKey1", "Swinging on a star. ");
  data.putExtra("returnKey2", "You could be better then you are. ");
  Activity finished ok, return the data
  setResult(RESULT_OK, data);
  finish();

在这里,我向Intent提供了活动之间的一些信息共享。希望这可能对你有所帮助。

答案 3 :(得分:0)

通知内容可能很简单toast。对于您的数据传递,您可以使用startActivityForResult(intent, UNIQUECODE);并覆盖onActivityResult()中的MainActivity方法。为了使toast看起来优雅,我建议您使用this,有关详细信息,请参阅this