Java:
private void openInBrowser() {
getFilmName();
if (filmname != null) {
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, filmname);
startActivity(intent);
}
}
private void getFilmName() {
Intent intent=new Intent(this, GetFilmActivtiy.class);
intent.putExtra("list", listToString(getList()));
startActivityForResult(intent, 3);
}
private String listToString(List<Film> list) {
StringBuilder sb=new StringBuilder();
for(Film film:list)
{
sb.append(film.getName());
sb.append(",");
}
return sb.toString();
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode)
{
case 3:
if(resultCode==RESULT_OK)
{
this.filmname=data.getStringExtra("title");
}
}
}
@Override
public List<Film> getList() {
return this.masterFragment.getFilmList();
}
Der Fehler leigt meiner Meinung nach irgendwo in getFilmName(), weil sich der SearchManger (Google Suche) immer startet, bevor getFilmName() fertig ausgeführt wurde. In den anderen Klassen, die ich da benütze und aufrufe liegt kein Fehler.