EditTextから文字列を読み込みたい。この文字列はハッシュタグで、#で始める必要があります。だから私はユーザーの入力後に文字列の最初の文字を確認したい。文字列がチェックに失敗した場合、単純なアラートを与えて、入力に再度フォーカスを当てたいので、ユーザーは再度入力を試みることができます。EditTextから最初の文字列を確認する
どうすれば実装できますか?
EditTextから文字列を読み込みたい。この文字列はハッシュタグで、#で始める必要があります。だから私はユーザーの入力後に文字列の最初の文字を確認したい。文字列がチェックに失敗した場合、単純なアラートを与えて、入力に再度フォーカスを当てたいので、ユーザーは再度入力を試みることができます。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;
}
次にOKボタンを作成します。ボタンについて私はOnClickListenerを実装します。 OnClick私はEditTextからStringを取得します。次に、Stringにメソッドを挿入して、最初の文字を確認します。メソッドが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
}
ユーザー入力はハッシュコードですか? –
いいえ、ユーザー入力は単純な文字列です。 – dudi