AlertDialog
を使って入力ボックスを表示しています。 AlertDialog.show()
を呼び出すと、ダイアログ内のEditText
が自動的にフォーカスされますが、ソフトキーボードは自動的に表示されません。
ダイアログが表示されたときにソフトキーボードを自動的に表示させるにはどうすればよいですか? (そして物理的/ハードウェアキーボードはありません)。検索ボタンを押してグローバル検索を起動したときと同様に、ソフトキーボードが自動的に表示されます。
EditText
のAlertDialog
にフォーカスリスナーを作成してから、AlertDialog
のWindow
を取得できます。そこからsetSoftInputMode
を呼び出してソフトキーボードを表示させることができます。
final AlertDialog dialog = ...;
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
キーボードの使用法を示すために:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
キーボードの使用を隠すために:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(),0);
ダイアログを作成した直後にソフトキーボードを要求できます(SDKでテスト - r20)
// create dialog
final AlertDialog dialog = ...;
// request keyboard
dialog.getWindow().setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
私は同じ問題を抱えており、以下のコードでそれを解決しました。私はそれがハードウェアキーボードを備えた電話でどう振る舞うかわからない。
// TextEdit
final EditText textEdit = new EditText(this);
// Builder
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Enter text");
alert.setView(textEdit);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String text = textEdit.getText().toString();
finish();
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
// Dialog
AlertDialog dialog = alert.create();
dialog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(textEdit, InputMethodManager.SHOW_IMPLICIT);
}
});
dialog.show();
この例を見つけました http://Android-codes-examples.blogspot.com/2011/11/show-or-hide-soft-keyboard-on-opening.html 次のコードをalert.show()
の直前に追加します。
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
<activity
...
Android:windowSoftInputMode="stateVisible" >
</activity>
または
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
他の回答からのコードの断片は機能しますが、特にAlertDialog.Builder
を使用していて 公式ダイアログチュートリアル に従っていない場合は、コード内のどこにそれらを配置するかは必ずしも明らかではありません。 final AlertDialog ...
やalertDialog.show()
を使わないでください。
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
より好ましい
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
SOFT_INPUT_STATE_ALWAYS_VISIBLEはフォーカスがEditTextから外れるとキーボードを非表示にするので、ユーザーがホームスクリーンに戻ったり最近のアプリを表示したりしても、SHOW_FORCEDは明示的に閉じるまでキーボードを表示し続けます。
以下は、XMLで定義されたEditTextを使用してカスタムレイアウトを使用して作成されたAlertDialogの作業コードです。また、キーボードに「実行」キーを設定して、プラスボタンをトリガーできるようにします。
alert_dialog.xml:
<RelativeLayout
Android:id="@+id/dialogRelativeLayout"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="wrap_content" >
<!-- Android:imeOptions="actionGo" sets the keyboard to have a "go" key instead of a "new line" key. -->
<!-- Android:inputType="textUri" disables spell check in the EditText and changes the "go" key from a check mark to an arrow. -->
<EditText
Android:id="@+id/editText"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="16dp"
Android:layout_marginLeft="4dp"
Android:layout_marginRight="4dp"
Android:layout_marginBottom="16dp"
Android:imeOptions="actionGo"
Android:inputType="textUri"/>
</RelativeLayout>
AlertDialog.Java:
import Android.app.Activity;
import Android.app.Dialog;
import Android.content.DialogInterface;
import Android.graphics.drawable.BitmapDrawable;
import Android.graphics.drawable.Drawable;
import Android.os.Bundle;
import Android.support.annotation.NonNull;
import Android.support.v4.app.DialogFragment;
import Android.support.v7.app.AlertDialog;
import Android.support.v7.app.AppCompatDialogFragment;
import Android.view.KeyEvent;
import Android.view.LayoutInflater;
import Android.view.View;
import Android.view.WindowManager;
import Android.widget.EditText;
public class CreateDialog extends AppCompatDialogFragment {
// The public interface is used to send information back to the activity that called CreateDialog.
public interface CreateDialogListener {
void onCreateDialogCancel(DialogFragment dialog);
void onCreateDialogOK(DialogFragment dialog);
}
CreateDialogListener mListener;
// Check to make sure that the activity that called CreateDialog implements both listeners.
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (CreateDialogListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement CreateDialogListener.");
}
}
// onCreateDialog requires @NonNull.
@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
LayoutInflater customDialogInflater = getActivity().getLayoutInflater();
// Setup dialogBuilder.
alertDialogBuilder.setTitle(R.string.title);
alertDialogBuilder.setView(customDialogInflater.inflate(R.layout.alert_dialog, null));
alertDialogBuilder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mListener.onCreateDialogCancel(CreateDialog.this);
}
});
alertDialogBuilder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mListener.onCreateDialogOK(CreateDialog.this);
}
});
// Assign the resulting built dialog to an AlertDialog.
final AlertDialog alertDialog = alertDialogBuilder.create();
// Show the keyboard when the dialog is displayed on the screen.
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
// We need to show alertDialog before we can setOnKeyListener below.
alertDialog.show();
EditText editText = (EditText) alertDialog.findViewById(R.id.editText);
// Allow the "enter" key on the keyboard to execute "OK".
editText.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button, select the PositiveButton "OK".
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
// Trigger the create listener.
mListener.onCreateDialogOK(CreateDialog.this);
// Manually dismiss alertDialog.
alertDialog.dismiss();
// Consume the event.
return true;
} else {
// If any other key was pressed, do not consume the event.
return false;
}
}
});
// onCreateDialog requires the return of an AlertDialog.
return alertDialog;
}
}
まあ、これはかなり古い投稿です、まだ追加するものがあります。
これらは私がキーボードを制御下に置くのを手助けする2つの簡単な方法です、そして、それらはちょうど完璧に働きます:
キーボードを表示
public void showKeyboard() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
View v = getCurrentFocus();
if (v != null)
imm.showSoftInput(v, 0);
}
キーボードを隠す
public void hideKeyboard() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
View v = getCurrentFocus();
if (v != null)
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
私はこれをうまく機能させるのが難しいと思ったので、yukuの解決策についていくつかの追加情報を指摘しましょう! AlertDialog.BuilderからAlertDialogオブジェクトを取得する方法まあ、それは私のalert.show()
実行の結果です:
final AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
final EditText input = new EditText(getActivity());
alert.setView(input);
// do what you need, like setting positive and negative buttons...
final AlertDialog dialog = alert.show();
input.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
手動で非表示にしてIMEを表示することを扱う この の議論を見てください。しかし、私の考えでは、焦点を絞ったEditText
がIMEを起動していないのであれば、それはあなたがAlertDialog.show()
または実際に画面が表示される前に呼び出される他のメソッドでOnCreate()
を呼び出しているからです。それをOnPostResume()
に移動することでそれを修正するはずです私は信じています。
はい、あなたはsetOnFocusChangeListener
を使ってそれを行うことができます。
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
誰かが手に入れている場合:
型Activityから非静的メソッドgetSystemService(String)への静的参照を作成できません
GetSystemService呼び出しにコンテキストを追加してみてください。
そう
InputMethodManager imm =
(InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
試してみてください:
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
誰かが興味を持った場合に備えてNice kotlin-esqe拡張関数を作成しました
fun Activity.hideKeyBoard() {
val view = this.currentFocus
val methodManager = this.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
assert(view != null)
methodManager.hideSoftInputFromWindow(view!!.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
}
fun Activity.showKeyboard() {
val view = this.currentFocus
val methodManager = this.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
assert(view != null)
methodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT)
}
キーボードを表示するには、私にとっては、次のようにしなければなりませんでした
Android TextField:プログラムでフォーカス+ソフト入力を設定します
基本的に解決策は以下の通りです
@Override
public void onResume() {
super.onResume();
//passwordInput.requestFocus(); <-- that doesn't work
passwordInput.postDelayed(new ShowKeyboard(), 325); //250 sometimes doesn't run if returning from LockScreen
}
ShowKeyboard
はどこにありますか
private class ShowKeyboard implements Runnable {
@Override
public void run() {
passwordInput.setFocusableInTouchMode(true);
//passwordInput.requestFocusFromTouch(); //this gives touch event to launcher in background -_-
passwordInput.requestFocus();
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(passwordInput, 0);
}
}
入力が成功したら、キーボードも隠します。
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(getView().getWindowToken(), 0);
問題は、テキストを入力する場所が最初は隠されている(またはネストされているか何か)ため、AlertDialogが自動的にフラグWindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
またはWindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
を設定して、物事が表示されないようにすることです。
これを修正する方法は、以下を追加することです。
(...)
// Create the dialog and show it
Dialog dialog = builder.create()
dialog.show();
// After show (this is important specially if you have a list, a pager or other view that uses a adapter), clear the flags and set the soft input mode
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
最初の質問はダイアログに関するもので、私のEditTextは定期的に見ています。とにかく、私はこれがあなたのほとんどのためにもうまくいくはずだと思います。だからここに私のために働くものがある(上記の提案された最高評価の方法は私には何もしなかった)。これを行うカスタムのEditViewがあります(サブクラス化は必要ではありませんが、ビューが表示されたときにフォーカスをつかみたいので、私の目的には便利です)。
これは実際にはtidbecksの回答とほぼ同じです。投票がゼロになったので、私は実際にはまったく彼の答えに気づかなかった。それから私はちょうど彼の投稿にコメントしようとしていました、しかしそれは長すぎたでしょうから、私はとにかくこの投稿をすることをやめました。 tidbeckは、彼がそれがキーボードを持っている装置でどのように動作するかわからないと指摘します。どちらの場合も、動作はまったく同じであるように思われることを確認できます。ポートレートモードではソフトウェアキーボードがポップアップされ、ランドスケープでは表示されません。物理的なキーボードをスライドさせてもしなくても、私の携帯電話には何の効果もありません。
というのも、私は個人的に、InputMethodManager.SHOW_FORCED
を使用することを選択したときの動作が少しぎこちないと感じたためです。私はそれが機能したかったのでこれは機能します。キーボードは向きに関係なく表示されますが、少なくとも私のデバイスではハードウェアキーボードがスライドされているとポップアップしません。
import Android.app.Service;
import Android.content.Context;
import Android.util.AttributeSet;
import Android.view.View;
import Android.view.inputmethod.InputMethodManager;
import Android.widget.EditText;
public class BringOutTheSoftInputOnFocusEditTextView extends EditText {
protected InputMethodManager inputMethodManager;
public BringOutTheSoftInputOnFocusEditTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public BringOutTheSoftInputOnFocusEditTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public BringOutTheSoftInputOnFocusEditTextView(Context context) {
super(context);
init();
}
private void init() {
this.inputMethodManager = (InputMethodManager)getContext().getSystemService(Service.INPUT_METHOD_SERVICE);
this.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
BringOutTheSoftInputOnFocusEditTextView.this.inputMethodManager.showSoftInput(BringOutTheSoftInputOnFocusEditTextView.this, InputMethodManager.SHOW_FORCED);
}
}
});
}
@Override
protected void onVisibilityChanged(View changedView, int visibility) {
super.onVisibilityChanged(changedView, visibility);
if (visibility == View.VISIBLE) {
BringOutTheSoftInputOnFocusEditTextView.this.requestFocus();
}
}
}
なぜこの回答 - 上記の解決策はあなたのキーボードを表示しますがあなたがEditText
name__以外のどこかをクリックしても消えないでしょうから。そのため、EditText
name__がフォーカスを失ったときにキーボードを消すには、何かをする必要があります。
これを実現するには、次の手順を実行します。
次の属性を追加して、親ビュー(アクティビティのコンテンツビュー)をクリック可能およびフォーカス可能にします。
Android:clickable="true"
Android:focusableInTouchMode="true"
HideKeyboard()メソッドを実装する
public void hideKeyboard(View view) {
InputMethodManager inputMethodManager =(InputMethodManager)getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(),InputMethodManager.HIDE_IMPLICIT_ONLY );
}
最後に、あなたのedittextのonFocusChangeListenerを設定してください。
edittext.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
hideKeyboard(v);
}
}
});
たくさん試しましたが、これは私のために働いていたものです(kotlin):
val dialog = builder.create()
dialog.setOnShowListener {
nameEditText.requestFocus()
val s = ContextCompat.getSystemService(requireContext(), InputMethodManager::class.Java)
s?.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0)
}
dialog.setOnDismissListener {
val s = ContextCompat.getSystemService(requireContext(), InputMethodManager::class.Java)
s?.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0)
}
dialog.show()
これらのメソッドをUtilクラスに入れて、どこでも使用できます。
fun hideKeyboard(activity: Activity) {
val view = activity.currentFocus
val methodManager = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
assert(view != null)
methodManager.hideSoftInputFromWindow(view!!.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
}
private fun showKeyboard(activity: Activity) {
val view = activity.currentFocus
val methodManager = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
assert(view != null)
methodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT)
}
public static void hideKeyboard(Activity activity) {
View view = activity.getCurrentFocus();
InputMethodManager methodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
assert methodManager != null && view != null;
methodManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
private static void showKeyboard(Activity activity) {
View view = activity.getCurrentFocus();
InputMethodManager methodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
assert methodManager != null && view != null;
methodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
}
これを試して
SomeUtils.Java
public static void showKeyboard(Activity activity, boolean show) { InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); if(show) inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); else inputMethodManager.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY,0); }
私はこの質問が古いことを知っています拡張機能を使用すると、編集テキストのキーボードを表示するためのきれいな方法だと思います
ここに、編集テキストのキーボードを表示するために使用する方法があります。
kotlin code:単にedittext.showKeyboard()
を呼び出す必要があります
fun EditText.showKeyboard() {
post {
requestFocus()
val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT)
}
}
Javaコード:
public static void showKeyboard(EditText editText) {
editText.post(new Runnable() {
@Override
public void run() {
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) editText.getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
}
});
}
これは少し注意が必要です。私はこのようにしてそれが働いた。
1.ウィンドウからソフト入力を非表示にする最初の呼び出し。ソフトキーボードが表示されている場合はソフト入力を隠し、表示されていない場合は何もしません。
2.ダイアログを表示する
3.単純にソフト入力を切り替えるには呼び出します。
コード:
InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
//hiding soft input
inputManager.hideSoftInputFromWindow(findViewById(Android.R.id.content).getWindowToken(), 0);
//show dialog
yourDialog.show();
//toggle soft input
inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.SHOW_IMPLICIT);
horkavlna が書いたように、
切り替え
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
キーボードを隠す
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
メソッドは動作します。しかし、showの変種は私の場合はうまくいきません。そこでonCreate()
にhideKeyboard(editText);
を入れてからonStart()
にtoggleKeyboard(editText);
と書き、onStop()
にhideKeyboard(editText);
と書きます。
問題が3つあります。
1)アプリケーションが画面をオフにして起動すると、それはキーボードを隠します。
2)あなたが画面をオンにするたびに、それはキーボードが表示されます。
3)アプリケーションの終了後、Androidのメイン画面にキーボードが表示されます。
いくつかのテストの後、これらのメソッドを削除し、AndroidManifest
タグ内のactivity
にAndroid:windowSoftInputMode="stateVisible"
またはAndroid:windowSoftInputMode="stateAlwaysHidden"
を書きました。
これはあなたにとって良いサンプルです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical" >
<ScrollView
Android:id="@+id/scrollID"
Android:layout_width="fill_parent"
Android:layout_height="0dip"
Android:layout_weight="1" >
<LinearLayout
Android:id="@+id/test"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical" >
</LinearLayout>
</ScrollView>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:baselineAligned="true"
Android:orientation="horizontal"
Android:paddingBottom="5dp"
Android:paddingLeft="5dp"
Android:paddingRight="5dp"
Android:weightSum="1" >
<EditText
Android:id="@+id/txtInpuConversation"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_weight="0.5"
Android:hint="@string/edt_Conversation" >
<requestFocus />
</EditText>
<Button
Android:id="@+id/btnSend"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_weight="0.5"
Android:text="@string/btn_Conversation" />
</LinearLayout>
</LinearLayout>