Я получил следующий метод в своей основной деятельности
public void showMessages(int MSGCODE) {
Log.d("MSG", "showmessage reached with code " + MSGCODE);
switch (MSGCODE)
{
case '0':
Toast.makeText(tabHost.getContext(), "Account verification failed. Please try to reenter your password.", Toast.LENGTH_LONG).show();
break;
case '1':
Toast.makeText(tabHost.getContext(), "Networking Service started.", Toast.LENGTH_LONG).show();
break;
case '2':
Toast.makeText(tabHost.getContext(), "Networking Service stopped.", Toast.LENGTH_LONG).show();
break;
case '3':
Toast.makeText(tabHost.getContext(), "Connection to server failed.", Toast.LENGTH_LONG).show();
break;
}
}
В службе я вызываю метод, подобный этому:
MAIN_ACTIVITY.showMessages(Consts.CONNECTION_FAILED);
Но тоста не появляетсяTabHost содержит три разных вкладки.Я уже понял, что это неправильный контекст, который я выбираю, но я не знал, какой из них правильный и как его получить.
private TabHost tabHost;
private final String[] loginStrings = new String[2];
public static Boolean runOnce = true;
public static ArrayList<String> messages;
private Intent svc;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabHost = getTabHost();
Intent intent = new Intent().setClass(this, BuddylistActivity.class);
tabHost.addTab(tabHost.newTabSpec("tabBuddylist").setIndicator("Buddylist").setContent(intent));
intent = new Intent().setClass(this, ChatsActivity.class);
tabHost.addTab(tabHost.newTabSpec("tabBuddylist").setIndicator("Chats").setContent(intent));
intent = new Intent().setClass(this, SchedularActivity.class);
tabHost.addTab(tabHost.newTabSpec("tabBuddylist").setIndicator("Schedular").setContent(intent));