EditText에서 String을 읽길 원합니다. 이 문자열은 해시 태그이며 #으로 시작해야합니다. 그래서 사용자 입력 후 문자열의 첫 번째 문자를 확인하고 싶습니다. 문자열이 검사에 실패하면 간단한 경고를주고 다시 입력을 시도 할 수 있도록 입력에 다시 초점을 맞추고 싶습니다.EditText에서 문자열의 첫 번째 문자 확인
어떻게 구현할 수 있습니까?
EditText에서 String을 읽길 원합니다. 이 문자열은 해시 태그이며 #으로 시작해야합니다. 그래서 사용자 입력 후 문자열의 첫 번째 문자를 확인하고 싶습니다. 문자열이 검사에 실패하면 간단한 경고를주고 다시 입력을 시도 할 수 있도록 입력에 다시 초점을 맞추고 싶습니다.EditText에서 문자열의 첫 번째 문자 확인
어떻게 구현할 수 있습니까?
(인덱스 0) 시작에서 문자를 확인 결과 문자열에서 수행 할 수 내 문제에 대한이 해결책. 처음에는 String의 첫 번째 문자를 검사하고 첫 번째 문자가 같지 않으면 Alert를 만들고 부울을 반환하는 메서드를 작성했습니다.
public boolean checkFirstChar (String s, char c) {
boolean isConform = false;
if (s.charAt(0) != c) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(SettingsActivity.this);
// set title
alertDialogBuilder.setTitle("Input not conform!");
// set dialog message
alertDialogBuilder
.setMessage("Your hashtag should start with " + c)
.setCancelable(false)
.setNegativeButton("OK",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
} else {
isConform = true;
}
return isConform;
}
그런 다음 확인 버튼을 만듭니다. 버튼에서 OnClickListener를 구현합니다. OnClick 나는 EditText에서 문자열을 가져옵니다. 그런 다음 String을 Method에 입력하여 첫 번째 문자를 확인합니다. Method가 true를 반환하면 설정을 저장하고 다음 활동을 시작합니다. 그렇지 않다면 EditText Focus로 돌아 왔습니다.
//set onClickListener on OK Button
btn_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//get selected Item from Spinner HashTag Item
strgHashtag = spinner_hashtag.getSelectedItem().toString();
//get String form EditText addHashTag
strgAddHashtag = edit_addHashTag.getText().toString();
//check if the first char == #
if (checkFirstChar(strgAddHashtag, '#') == true) {
//if true, add String to HashTagItem List
spinner_HashTagItems.add(strgAddHashtag);
//save settings into a JSON File on SD-Card
saveSettings();
//and put the hashTagString into an IntenExtra for the HomeActivity
Intent intent = new Intent(SettingsActivity.this, HomeActivity.class);
intent.putExtra("hashTag", strgHashtag);
startActivity(intent);
finish();
//if the char != '#'
} else {
//return to the user input
edit_addHashTag.requestFocus();
}
}
});
이 코드가 다른 커뮤니티 회원이 같은 문제를 해결할 수 있기를 바랍니다.
당신이 IST 문자열 컨텍스트를 얻어서 편집 텍스트를 확인할 수 있습니다 ... 이 gettext에 메서드를 호출하고 내가 찾은
EditText myInput =....
if(myInput.getText().charAt(0) !='#'){
//modal dialog and/ or toast!
} else {
// ok
}
사용자 입력은 hashCode입니까? –
아니요, 사용자 입력은 간단한 문자열입니다. – dudi