从服务传递Toast的值并将其显示在TextView中

时间:2013-07-12 03:39:14

标签: android service

我想知道,我如何传递或获取Toast的值,以便我可以在TextView中显示该值。

修改

我在服务中的这部分代码

public void onStart(Intent i, int stID){
   super.onStart(i, stID);
   Toast.makeText(getApplicationContext(), "Horas", Toast.LENGTH_LONG).show();
}

以下代码是我的主要活动的一部分

protected void onCreate(Bundle savedInstanceState){
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   //this code to call the service
   startService(new Intent (this, MyService.class));
}

所以我可以添加到我的服务或主要活动中,这样我就可以在textview中显示消息 有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

将toast消息存储在字符串变量中,并从活动

访问此变量
  String toast_msg;
  public void onStart(Intent i, int stID){
  super.onStart(i, stID);
  toast_msg="Horas";
   Toast.makeText(getApplicationContext(), toast_msg, Toast.LENGTH_LONG).show();
}

in activity创建服务类的对象并访问toast_msg

答案 1 :(得分:1)

试试这个

static String toast_msg;
  public void onStart(Intent i, int stID){
  toast_msg="Horas"; 
   super.onStart(i, stID);
   Toast.makeText(getApplicationContext(), toast_msg, Toast.LENGTH_LONG).show();
}

添加此行代码

TextView Text = (TextView) findViewById(R.id.input);
Text.setText(MyService.toast_msg)