Users Online

· Guests Online: 83

· Members Online: 0

· Total Members: 188
· Newest Member: meenachowdary055

Forum Threads

Newest Threads
No Threads created
Hottest Threads
No Threads created

Latest Articles

038 Java Android Program to Demonstrate a Transform Filter

Java Android Program to Demonstrate a Transform Filter

This Android Java Program demonstrates a Transform Filter in Android.

 

Here is source code of the Program demonstrate a Transform Filter in Android. The program is successfully compiled and run on a Windows system using Eclipse Ide. The program output is also shown below.

The Transform Filter lets you modify the implicit URI generated by matching link text. Decoupling the link text from the target URI gives you more freedom in how you display data strings to your users.
Here in this source code when a user clicks on either on GOOGLE or LINKIFY or SANFOUNDRY they all are converted to lower case when searching in web browser.

Main Activity

 
package com.example.transform_filter;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
import android.os.Bundle;
import android.app.Activity;
import android.text.util.Linkify;
import android.text.util.Linkify.TransformFilter;
import android.view.Menu;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TransformFilter myTransformFilter = new TransformFilter() {
            @Override
            public String transformUrl(Matcher match, String url) {
                // TODO Auto-generated method stub
                return url.substring(1).toLowerCase();
            }
        };
 
        TextView text = (TextView) findViewById(R.id.textview1);
        Pattern pattern3 = Pattern.compile("\\![a-zA-Z]+");
        text
        .setText("press one of these words to search it on google:"
                + " !GOOGLE !LINKIFY !SANFOUNDRY");
        Linkify.addLinks(text, pattern3,
                "http://www.google.ie/search?q=", null, myTransformFilter);
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}

Activity_Main.xml

 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
        android:id="@+id/textview1" />
 
</RelativeLayout>

Comments

No Comments have been Posted.

Post Comment

Please Login to Post a Comment.

Ratings

Rating is available to Members only.

Please login or register to vote.

No Ratings have been Posted.
Render time: 0.82 seconds
10,827,143 unique visits