[android] 텍스트 편집 필드의 값 얻기
UI 요소를 만드는 방법을 배우고 있습니다. EditText 입력 필드를 몇 개 만들었습니다. 버튼을 클릭하면 해당 입력 필드에 입력 된 내용을 캡처하고 싶습니다.
<EditText android:id="@+id/name" android:width="220px" />
그게 내 분야 야 내용은 어떻게 구할 수 있습니까?
답변
getText ()를 사용하여 :
Button mButton;
EditText mEdit;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mButton = (Button)findViewById(R.id.button);
mEdit = (EditText)findViewById(R.id.edittext);
mButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText", mEdit.getText().toString());
}
});
}
답변
EditText 객체 “mEdit”을 호출 할 때이 코드를 사용해야한다고 생각합니다.
myActivity.this.mEdit.getText().toString()
컴파일러 EditText
가 호출하고 사용할 것을 알고 있는지 확인하십시오 .
답변
EditText
안드로이드 의 컨트롤에서 가치를 얻으십시오 . EditText
getText
가치를 얻기 위해 속성 사용 EditText
:
EditText txtname = findViewById(R.id.name);
String name = txtname.getText().toString();
답변
나는 이것이 작동하기를 바랍니다.
Integer.valueOf(mEdit.getText().toString());
Integer.getInteger()
대신 방법을 시도했지만 valueOf()
작동하지 않았습니다.
답변
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button rtn = (Button)findViewById(R.id.button);
EditText edit_text = (EditText)findViewById(R.id.edittext1);
rtn .setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText value=", edit_text.getText().toString());
}
});
}
답변
버터 나이프를 살펴볼 수도 있습니다 . 주석을 사용하여 상용구 코드의 양을 줄이는 것을 목표로합니다. 다음은 간단한 예입니다.
public class ExampleActivity extends ActionBarActivity {
@InjectView(R.id.name)
EditText nameEditText;
@InjectView(R.id.email)
EditText emailEditText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
Butterknife.inject(this);
}
@OnClick(R.id.submit)
public void onSubmit() {
Editable name = nameEditText.getText();
Editable email = emailEditText.getText();
}
}
에 다음 종속성을 추가하십시오 build.gradle
.
compile 'com.jakewharton:butterknife:x.y.z'
대안으로 AndroidAnnotations도 있습니다.
답변
가장 짧고 간단한
getText(editText);
getText(button);
getText(textView);
작은 해결 방법
BaseActivity에서 메소드를 작성하고없는 경우 BaseActivity를 작성하십시오.
public class BaseActivity extends AppCompatActivity{
public String getText(TextView tv) {
return tv.getText().toString().trim();
}
}
이 BaseActivity로 모든 활동을 확장하십시오.
public class YourActivity extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState){
getText(editText);
getText(button);
getText(textView);
}
}
그 주 EditText
, Button
확장 TextView
I 만 만들어 있도록 getText(TextView tv)
.