Hi i am making an android application.
I want to play a default sound effect when i am typing in an EditText field.
Any ideas how to do that?
Thanks
you can use textwatcher for that purpose
youredittext.addTextChangedListener(new TextWatcher() {
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
#Override
public void afterTextChanged(Editable s) {
MediaPlayer mp = MediaPlayer.create(this, R.raw.yourmp3); // add mp3 file
mp.start();
}
});
Note : add yourmp3 in res->raw folder
Related
I am trying to display some text that the user inputs on a android app. However, all the examples that I can find online require you to hit a button before some text is displayed. Is it possible to display user input without a button?
Like mentioned #ligi you can use TextWatcher like this:
EditText editText;
TextView tv;
editText.addTextChangedListener(new TextWatcher() {
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
#Override
public void afterTextChanged(Editable s) {
tv.setText(s);
}
});
you can add a TextWatcher to your EditText
what is the method I should use to type what will happen after being finished from typing in the EditText?
Please use simple statements and use an example with comments of what happens in that line and what to type in that line.
PS
I wish you got the lines above!!!
you need to add a text watcher to the text view
Example:
myEditText.addTextChangedListener(new TextWatcher() {
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// Your query to fetch Data
}
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void afterTextChanged(Editable s) {
// Your logic here
}
});
just add a texcchangedlistener with textwatcher to your edittext
https://developer.android.com/reference/android/text/TextWatcher.html
myeditext.addTextChangedListener(new TextWatcher() {
#Override
public void afterTextChanged(Editable s)
{
//do something here!!!
}
#Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
#Override
public void onTextChanged(CharSequence s, int start,
}
});
I need to create a search engine feature for my application. It should search particular websites. Is there any way to develop this in Android.
I need to add this as a feature in my Android application.
initialize in your activity edittext for me is it address_search_view
addresses_search_view.addTextChangedListener(new TextWatcher() {
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Addresses.this.addressesSAdapter.getFilter().filter(s);}
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void afterTextChanged(Editable s) {
}
});
I'm using this code below, to make my button disabled until first input box received some numbers.
Problem is when I press the button before second input recieve numbers, then app is crashing.
First input var is firstEdittext and second is secondEditText
firstEditText.addTextChangedListener(new TextWatcher() {
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Btn.setEnabled(!(firstEditText.getText().toString().trim().isEmpty());
}
#Override
public void afterTextChanged(Editable s) {
}
});
}
Is it possible to use this TextWatcher for both?
Or I need to use another method for make my button disable
The error is caused by trying to parse empty text from secondEditText. In this case, you need to set the TextWatcher to both EditTexts.
You can do it by defining a named TextWatcher in the class, then set both EditTexts to use this. You also need to fix the checking condition for enabling the button.
Inside onCreate():
TextWatcher tw = new TextWatcher() {
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Btn.setEnabled(!TextUtils.isEmpty(firstEditText.getText()) && !TextUtils.isEmpty(secondEditText.getText()));
}
#Override
public void afterTextChanged(Editable s) {
}
};
firstEditText.addTextChangedListener(tw);
secondEditText.addTextChangedListener(tw);
I'm making a search box. when user types down something in here, I'll show suggestions which take a bit amount of time. Considering the buffering, I'd like to show progressbar for users.
To make this feature, I made AsyncTask to show up progressbar and TextWatcher of search box to execute async task.
The problem is that simply, progressbar doesn't show up. As far as I guess, this is probably because TextWatcher doesn't update UI.
Is there any solution to help me out?
Below is the code I've made.
Any suggestions will do. Thanks.
mSearchEditText.addTextChangedListener(new TextWatcher() {
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void afterTextChanged(Editable s) {
mProcessTask = new ProgressTask();
mProcessTask.execute();
"do something taking time here"
}
And below is the code for AsyncTask
private class ProgressTask extends AsyncTask <Void,Void,Void>{
#Override
protected void onPreExecute(){
super.onPreExecute();
mProgressBar.setVisibility(View.VISIBLE);
}
#Override
protected Void doInBackground(Void... arg0) {
return null;
}
#Override
protected void onPostExecute(Void result) {
super.onPreExecute();
mProgressBar.setVisibility(View.GONE);
}
}
I've found the possible solution.
The code attached in the question starts working properly when I changed full screen mode to no titlebar mode.
mSearchEditText.addTextChangedListener(new TextWatcher() {
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
mProgressBar.setVisibility(View.VISIBLE);
}
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void afterTextChanged(Editable s) {
mProgressBar.setVisibility(View.GONE);
}
Why dont you use the progressbar in the textwatcher itself ...