Эй, ребята, очень новичок в студии Android, как и в названии. Я попытался поместить текст в EditText в var, называемый «имя пользователя», который я хочу использовать в своем внутреннем классе, но я не знаю как сделать его доступным изнутри.Студия Android - как получить доступ к EditText изнутри внутреннего класса?
вот что мне делать с EditText, в OnCreate: (KeyListener это имя моего внутреннего класса)
KeyListener KL_Instance = new KeyListener();
EditText input_text = (EditText) findViewById(R.id.inputText);
input_text.setOnKeyListener(KL_Instance);
String username = input_text.getText().toString();
И вот что я пытаюсь сделать в пределах внутреннего класса:
public class KeyListener implements View.OnKeyListener
{
@Override
public boolean onKey(View view, int keyCode, KeyEvent keyEvent)
{
if (keyCode == KeyEvent.KEYCODE_AT)
{
Toast.makeText(MainActivity.this, "Do not type @", Toast.LENGTH_LONG).show();
}
//if the enter key is pressed, then check to see if username is 8 or more chars
if (keyCode == keyEvent.KEYCODE_ENTER)
{
//if it is, display it
if(username.length => 8)
{
Toast.makeText(MainActivity.this, "Hi, " + username, Toast.LENGTH_LONG).show();
}else //else, ask for a username of atleast 8 chars
{
Toast.makeText(MainActivity.this, "Please enter a username that is 8 or more chars", Toast.LENGTH_LONG).show();
}
}
return false;
}
}
Но он говорит, «не может разрешить символ" имя пользователя», и я не могу доступ«input_text»в этом классе либо, так что если кто-то может помочь мне здесь было бы весьма признателен, Спасибо заранее :)
Еще не узнали о TextWatchers, что вы имеете в виду, обновив его своим слушателем? :) – flanelman