2012-04-25 8 views
0

Theme.Dialogでアクティビティを使用してソフトウェアキーボードをエミュレートしようとしています。キーボードの操作は画面の一部のみをカバーします。基礎となるアクティビティはまだアクティブであり、直接制御することができます。私は、入力されたテキストが入力されると、それが基礎となるアクティビティに表示されるようにしたいと思います。別のアクティビティでビューを更新する

これを行う方法はありますか?インテントバンドルにEditTextのリファレンスを投げることを考えていましたが、それは正しいとは思われません。

edit:誰かがEditTextを静的にするように答えたが、その後レスポンスを削除しました。これが正しい応答であることが判明した場合に、追加してもらえますか?それは動作しません

答えて

0

元のそれに答えて、それを再投稿していません。

最高の解決策私はこれまで、EditTextが操作されていることを意味するソフトウェアキーボードアクティビティに静的フィールドを作成することができました。呼び出しアクティビティは、インテントを起動する前にこの静的フィールドを更新します。

これはシームレスに動作し、コールアクティビティがスタックから爆発的になっても問題はありませんでした。

2

...あなたの活動は一時停止状態になります..あなたの代わりにonActivityResult()を試してみてください..それを試していない、それは確かに例外がスローされますが、何かを起動しようとする...

:編集

だけでなく、その後にこれを試してください。..

[アクティビティのインスタンスを(私が編集テキストを持って活動を意味する)を取得

if(!yourActviity.isFinishing()) 
{ 

((EditText)yourActviity.findViewById(R.id.editText)).setText("text"); 
} 
+0

一時停止状態ではありません。私は基本的な活動と直接対話することができます。 @AndrewP。 –

+0

.. UIを含むインタラクション..? – ngesh

+0

@sandy、はい。ネイティブコールを作成し、その結果でUIを正しく更新する基本アクティビティのボタンをクリックすることができます。 –

1

uがカスタムダイアログを使用している場合メインアクティビティの変数をmainactivityコンテキストを使用してアクセスできます。メインアクティビティタイプのコンテキストをキャストする必要があります

+0

私はカスタムダイアログを使用していませんが、Theme.Dialogをテーマにしたカスタムアクティビティを使用しています。 –

+0

カスタムアクティビティのコードを貼り付けてください –

関連する問題