最近我开始探索android,并且无法理解如何实现特定任务。
请在下面找到详细信息:
有两项活动:MainActivity和AddWordActivity。当用户单击MainActivity上的按钮时,他将移动到AddWordActivity。通过此活动,用户可以添加单词。
输入相关详细信息后,当用户点击添加按钮时,我想再次将用户重定向到MainActivity,并在MainActivity上方显示一个文本,如'Word added successfully'。怎么能实现这一目标?这种方法的具体名称是什么?
我一直在搜索这个显示通知,但看起来这完全是另一回事。
答案 0 :(得分:4)
使用
启动AddWordActivitystartActivityForResult(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)