Прокручиваемый EditText в пользовательском диалоге в Android

1

Мне нужно поставить окно EditText с вертикальной полосой прокрутки на пользовательском диалоговом окне. Когда я ввел более одной строки в edittext, ее нужно прокрутить. Здесь я использовал android: scrollable = "vertical" на xml. Он работает нормально. Когда я использую два блока edittext, курсор переместится во второй блок edittext, когда я сначала нажимаю Enter. Любые ошибки?

Мой код...

EditText edit1,edit,edit0;
Button ok;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);

    final Dialog dialog = new Dialog(summaact.this);
      dialog.setContentView(R.layout.main);
      edit0=(EditText)dialog.findViewById(R.id.edit0);
      edit=(EditText)dialog.findViewById(R.id.edit);
      edit1=(EditText)dialog.findViewById(R.id.edit1);

      edit0.setInputType(InputType.TYPE_NULL);
      edit.setInputType(InputType.TYPE_NULL);
      edit1.setInputType(InputType.TYPE_NULL);

      ok=(Button)dialog.findViewById(R.id.ok);
        dialog.setTitle("Content Management page");
        dialog.setCancelable(true);
        ok.setOnClickListener(new OnClickListener(){

             public void onClick(View v){
                 String str0=edit0.getText().toString(); 
                String str=edit1.getText().toString(); 
                String str1=edit.getText().toString(); 

                Toast.makeText(summaact.this,str0,Toast.LENGTH_SHORT).show();
                Toast.makeText(summaact.this,str,Toast.LENGTH_SHORT).show();
                Toast.makeText(summaact.this,str1,Toast.LENGTH_SHORT).show();


                dialog.dismiss();
             }
         });

         dialog.show();

    }

Мой xml...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
     <EditText
    android:id="@+id/edit0"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 

 />
    <EditText
    android:id="@+id/edit"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 

 />

<EditText
    android:id="@+id/edit1"
    android:layout_width="fill_parent" 
    android:layout_height="100px" 
    android:scrollbars="vertical"


 />

 <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/ok"
    android:text="OK"/> 

</LinearLayout>
  • 0
    Подумайте о том, чтобы проголосовать за хорошие ответы.
Теги:

2 ответа

2
Лучший ответ

новый ответ:

Попробуйте использовать:

android:inputType="textMultiLine"

в EditText

изменить

Я сделал пример, и он работает с textMultiline:

@Override
protected void onResume() {
    super.onResume();

    AlertDialog.Builder b = new AlertDialog.Builder(this);
    View view = LayoutInflater.from(this).inflate(R.layout.main, null);
    b.setView(view);
    b.setTitle("Content Management page");

    b.create().show();
}

Макет те же, что и один EditText:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
    android:id="@+id/edit0"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
<EditText
    android:id="@+id/edit"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
<EditText
    android:id="@+id/edit1"
    android:layout_width="fill_parent"
    android:gravity="top|left"
    android:layout_height="100dp"
    android:scrollbars="vertical"
    android:inputType="textMultiLine" />
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/ok"
    android:text="OK" />

</LinearLayout>

Изображение 174551

Где у вас возникли проблемы?

  • 0
    @dziobas Нет, чувак .. Мне нужно поставить полосу прокрутки только для содержимого edittextbox.
  • 0
    Я удалил свой ответ и написал новый.
Показать ещё 4 комментария
0

попробовать

YourEditText.setMovementMethod(new ScrollingMovementMethod());

и обязательно установите для прокрутки true

Ещё вопросы

Сообщество Overcoder
Наверх
Меню