0

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

これを行う方法はありますか?EditText の参照を Intent Bundle に入れることを考えていましたが、それは正しくないようです。

edit : 誰かが EditText を静的にするように応答しましたが、応答を削除しました。これが正しい応答であることが判明した場合に備えて、彼らはそれを元に戻すことができますか?

4

3 に答える 3

2

それは機能しません..アクティビティは一時停止状態になります..そこで何かを呼び出そうとすると、必ず例外がスローされます..試してはいけません..onActivityResult()代わりに試してください...

:編集済み

それでは、これを試してください..

Activity インスタンスを取得します (編集テキストを持つアクティビティを意味します)。

if(!yourActviity.isFinishing())
{

((EditText)yourActviity.findViewById(R.id.editText)).setText("text");
}
于 2012-04-25T05:45:37.867 に答える
1

if u are using custom dialog u can acess the variables in main activity using its mainactivity context.for that u need to cast the context in mainactivity type

于 2012-04-25T05:52:21.000 に答える
0

元の回答を提供した人がそれを削除し、再投稿していないため、私は自分の質問に回答しています。

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

これはシームレスに機能し、呼び出し元のアクティビティがスタックから吹き飛ばされるという問題はありませんでした。

于 2012-05-10T23:38:31.920 に答える