2017-06-28 8 views
0

私はAndroid Studioを使用しており、他のアクティビティからアクセスする必要があるMapsActivityのメソッドを持っています。私は意図を使用することが最善の方法だと思うが、私はどのようにするのか分からない。インテントを使用して別のアクティビティのメソッドにアクセスするにはどうすればよいですか?

+2

「私は、Android Studioを使用して、私は別のアクティビティからアクセスする必要が私のMapsActivityのメソッド持っています」 - 良いアイデアではありません、それ直接可能ではありません。おそらく、これらは2つの別々の活動ではなく、単一の活動であるべきです。または、おそらくこのメソッドは他のクラスに属し、両方のアクティビティでアクセスできます。 – CommonsWare

答えて

0

これはおそらく悪い考えです。たとえば、2番目のアクティビティを実行しているときに、メソッドを呼び出すアクティビティを停止することができます。 メソッドが必要な場合は、クラスをインスタンス化します。メソッドがアクティビティの一部のビューを更新している場合は、おそらく "onActivityResult"を使用できます。それ以外の場合は、抽象クラスを作成してメソッドを呼び出すことができます。

+0

これは私がする必要があることです...私は、マップに戻って、特定のマーカーをクリックするのを待つ(緯度と経度を取得する)ためにボタンを持っている2番目のアクティビティを持っています2番目のアクティビティに移動します。 –

-1

EDIT:あなたのコメントに基づいて、およびフェリペ・マルティンスが指摘したように、startActivityForResult()はあなたのために働くことができます。 bundle.putDoubleを使用してlattitudelongitudeをバンドルに追加し、後でonActivityResult()に取得してください。

は、参考のためにこれを使用します:https://stackoverflow.com/a/25642483/4941959

0

あなたはonActivityResultを使ってやりたいことができます。

最初のアクティビティに戻ると、startActivityForResultと呼びます。その後、ユーザーがマーカーをクリックしたときに、新たな意図にデータを入れて、に似て仕上げ:

Intent returnIntent = new Intent(); 
returnIntent.putExtra("result",result); 
setResult(Activity.RESULT_OK,returnIntent); 
finish(); 

、次に2番目の活動の結果を処理します。

詳細はここにある:

https://stackoverflow.com/a/10407371/4888701

関連する問題