Monday, June 25, 2012

Android InputFilter Example





res/layout/main.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText    
        android:id="@+id/edit_text"  
        android:layout_marginTop="10dp"    
        android:layout_width="fill_parent"     
        android:layout_height="wrap_content"    
       />  
    <Button
        android:id="@+id/btnId"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Lock/Unlock" />
<TextView 
        android:id="@+id/txtview"
        android:layout_width="fill_parent"
        android:textSize="25.0dp"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:text="InputFilter" />
</LinearLayout>



InputFilterActivity.java:
public class InputFilterActivity extends Activity {

    private EditText editText;    
    private boolean value = false; 
    Button b;
    String str = "Hello,Android!"; 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        editText=(EditText)findViewById(R.id.edit_text);  
        editText.setText("EditText component");  
         b = (Button) findViewById(R.id.btnId);    
        b.setText("Lock");    
        b.setOnClickListener(new View.OnClickListener() {         
            @Override    
            public void onClick(View v) {    
                if (value) {    
                    value = false; 
                    b.setText("Lock");
                } else {    
                    value = true;  
                    b.setText("Unlock");
                }    
                lockUnlock(value);    
            }    
        });  
    }
    private void lockUnlock(boolean value) {    
        if (value) {    
            editText.setFilters(new InputFilter[] { new InputFilter() {    
                @Override    
                public CharSequence filter(CharSequence source, int start,    
                        int end, Spanned dest, int dstart, int dend) {    
                    return source.length() < 1 ? dest.subSequence(dstart, dend)    
                                : "";    
                }    
            } });    
        } else {    
            editText.setFilters(new InputFilter[] { new InputFilter() {    
                @Override    
                public CharSequence filter(CharSequence source, int start,    
                        int end, Spanned dest, int dstart, int dend) {    
                     return null;    
                }    
            } });    
        }    
    }    
}


Download Source Code: AndroidInputFilter









0 comments:

Post a Comment

 
Powered by Blogger