2016-07-11 6 views
0

私はユーザーがEnterを押すと新しい行に移動し、さらにテキストを入力できる編集テキストを作成しようとしています。ここ新しい行がアンドロイドで編集テキストに入力するとき

は、私のデザインの一部

<android.support.design.widget.TextInputLayout 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content"> 

         <EditText 
          android:id="@+id/discussion" 
          android:layout_width="match_parent" 
          android:layout_height="100dp" 
          android:inputType="textMultiLine" 
          android:maxLines="5" 
          android:hint="Discussion outcome" 
          android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 "/> 

        </android.support.design.widget.TextInputLayout> 

は、ここに私のコードですが、問題は、カーソル位置が次の行に行っていないです。私もdiscussion.append("\n")を試してみましたが、それは

discussion= (EditText) findViewById(R.id.discussion); 
     discussion.setOnKeyListener(new View.OnKeyListener() { 
      @Override 
      public boolean onKey(View view, int i, KeyEvent keyEvent) { 

       Log.e(TAG , "Key Action "+keyEvent.getAction()); 

       if(keyEvent.getAction() == KeyEvent.ACTION_UP && keyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER){ 

        String data =discussion.getText().toString(); 

        discussion.setText(data+"\n"); 
        Log.e(TAG , "Key "+keyEvent.getKeyCode()); 



       } 
       return false; 
      } 
     }); 

答えて

3

を助けることを願ってみてください仕事didntは:

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <EditText 
     android:id="@+id/discussion" 
     android:layout_width="match_parent" 
     android:layout_height="100dp" 
     android:inputType="textMultiLine" 
     android:maxLines="5" 
     android:hint="Discussion outcome" 
     android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\n "/> 

</android.support.design.widget.TextInputLayout> 

次に、キーリスナーは必要ありませんもしあなたがそれをすれば。

+0

ビンゴがうまくいった! – Hunt

+0

他の言語はどうですか? –

0

この

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:inputType="textMultiLine" 
    android:ems="10" 
    android:id="@+id/edt_address" 
    android:hint="Shipping Address" /> 

が、それはあなたがあなたのXMLで許さ桁で改行文字\nを含める必要がありますあなたの

+0

私はこれを別のstackoverflowスレッドから試しましたが、動作しませんでした。実装しようとしているのは、ユーザがEnterキーを押してカーソルを次の行に移動するときです。 – Hunt

関連する問題