Страница 1 из 1

Enter в EditText переносит строку. Как реализовать др. дейст

Добавлено: 21 авг 2015, 13:16
aleksbim
Enter на клавиатуре в EditText переносит строку. Как перехватить нажатие на Enter и реализовать др. действие, т.е. выполнение определенного кода?

Re: Enter в EditText переносит строку. Как реализовать др. д

Добавлено: 21 авг 2015, 13:41
Dark67
попробуй реализовать

[syntax=java]
editText.setOnKeyListener(this);


@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == 66) {
Toast.makeText(this, "Enter was pressed", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}[/syntax]

Re: Enter в EditText переносит строку. Как реализовать др. д

Добавлено: 21 авг 2015, 14:35
Mikhail_dev
Может скажете что хотите сделать?

Re: Enter в EditText переносит строку. Как реализовать др. д

Добавлено: 22 авг 2015, 12:31
aleksbim
Хочу сделать, чтобы этот EditText превратился по нажатию Enter в Button или в TextView с отображением введенных данных. (Рассматриваю с вариант только с Enter)

Re: Enter в EditText переносит строку. Как реализовать др. д

Добавлено: 22 авг 2015, 13:49
aleksbim
Dark67, спасибо! Работает.

Re: Enter в EditText переносит строку. Как реализовать др. д

Добавлено: 26 авг 2015, 01:26
aleksbim
А как можно, чтобы еще и клавиатура скрылась?

Re: Enter в EditText переносит строку. Как реализовать др. д

Добавлено: 26 авг 2015, 02:19
doter.ua
Норм варик с кейкодами, только никогда не юзай хардокдные константы, читабельность страдает + неизвестно не изменят ли этот код на другой. Константа: KeyEvent.KEYCODE_ENTER

Re: Enter в EditText переносит строку. Как реализовать др. д

Добавлено: 26 авг 2015, 02:20
doter.ua
aleksbim писал(а):А как можно, чтобы еще и клавиатура скрылась?
http://stackoverflow.com/a/18977227

Re: Enter в EditText переносит строку. Как реализовать др. д

Добавлено: 02 сен 2015, 20:54
aleksbim
Перебрал оттуда все варианты, ни один не помог, клава не скрывается, кроме как нажать onBackPressed(). Тут я решил не париться и поставить в коде onBackPressed(), так он вместе с клавой и активити закрывает.
Тапы вне клавы тоже не скрывают.
В манифесте

Код: Выделить всё

        <activity android:name="Activity"            
            android:windowSoftInputMode="stateAlwaysHidden|adjustPan"></activity>
Код при нажатии на Enter:

Код: Выделить всё

	    public boolean onKey(View v, int keyCode, KeyEvent event) {
	    	EditText editText3_1=(EditText) findViewById(R.id.et_plus3_1);
	        if (keyCode == KeyEvent.KEYCODE_ENTER && editText3_1.isFocused()) {	        		    		
	    		String text = editText3_1.getText().toString();	            	
	            Button tv_3_1=(Button) findViewById(R.id.tv_3_1); tv_3_1.setVisibility(View.VISIBLE);
	            tv_3_1.setText(text);
	            editText3_1.setVisibility(View.GONE);
	            Button plus=(Button) findViewById(R.id.plus3_2); plus.setVisibility(View.VISIBLE);
	            hideSoftKeyboard();
//	            getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)‌​;
//	            getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
//	            onBackPressed();
	            return true;	
	        return false;	    	
	    }            
	        }