EditText는 입력 시 자동으로 단위를 추가하고 증명번호 부분 변성호를 입력해도 참고할 수 있습니다
실현 사고방식은 이중 구조로 위에 투명하게 내용을 입력하고 아래에 TextView가 내용을 표시하기 때문에 EditText의 입력을 감청해야 한다.효과도는 보이지 않고 간단한 입력 상자로 텍스트를 입력할 때 자동으로 단위를 추가합니다.
레이아웃 파일을 먼저 위쪽으로 이동하려면 다음과 같이 하십시오.
style 파일, as 추출 생성:
------------------------------------------------------------ 기본 코드:
package com.cysion.textwatcherdemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
/**
* Created by Cysion
*/
public class MainActivity extends AppCompatActivity {
private String unit = "cm";
private TextView tvUnit;
private EditText etUnit;
private String temp = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setListener();
}
private void initView() {
tvUnit = (TextView) findViewById(R.id.tv_unit);
etUnit = (EditText) findViewById(R.id.et_unit);
}
private void setListener() {
//
etUnit.addTextChangedListener(new DiyTextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
temp = etUnit.getText().toString().trim();
tvUnit.setText(temp+" "+unit);
if (temp.length()==0){
tvUnit.setText("");
}
}
});
}
}
4
//
abstract class DiyTextWatcher implements TextWatcher {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
}
사고방식이 간단하고 실현도 복잡하지 않아 개발 tips라고 할 수 있다.사용자 정의view는 물론 가능하지만, 때때로 본고의 사고방식은 더욱 간단하다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
VisualStudio에서 Ant를 사용하여 Native APK를 만듭니다.※2019/11/13 Gradle판의 기사도 올랐습니다. 자세한 내용은 을 참조하십시오. CEDEC2019의 " "이라는 세션에서 VisualStudio에서도 Gradle을 사용한 Native 앱을 만들 수 있다는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.