Clickable links in android using eclipse <p>I am trying to make strings in the text view clickable.My <code>textview</code> consists of name of various online questions and i want them to redirect the user to the url of the question when clicked.Can anyone recommend changes to my code.</p> <p>In the following code "result" is the final textview consisting of name of questions .</p> <pre><code>public class Http extends Activity { TextView httpStuff; HttpClient client; JSONObject json; final static String URL = "http://codeforces.com/api/user.status?handle="; String m = ""; public static String[] sarr = new String[200]; public static String[] name = new String[200]; public static int cnt = 0; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.httpex); httpStuff = (TextView)findViewById(R.id.tvHttp); client = new DefaultHttpClient(); new Read().execute("result"); } public JSONObject lastSub(String username) throws ClientProtocolException, IOException, JSONException { StringBuilder url = new StringBuilder(URL); url.append(username); HttpGet get = new HttpGet(url.toString()); int status = 0; HttpResponse r = client.execute(get); status = r.getStatusLine().getStatusCode(); if(status == 200) { HttpEntity e = r.getEntity(); String data = EntityUtils.toString(e); JSONObject last = new JSONObject(data); //JSONObject last = new JSONObject(data).getJSONArray("result").getJSONObject(0).getJSONObject("problem"); return last; } else { Toast.makeText(Http.this, "error", Toast.LENGTH_SHORT); return null; } } public class Read extends AsyncTask &lt;String, Integer, String&gt; { @Override protected String doInBackground(String... arg0) { // TODO Auto-generated method stub try { String add = "&amp;from=1&amp;count=100"; String input = (Mainapp.p); input = input.concat(add); json = lastSub(input); JSONArray array = json.getJSONArray("result"); String m1=null, m2=null, m3=null; String n1 = System.getProperty("line.separator"); int flag=0; for(int k=0; k&lt;array.length() &amp;&amp; cnt&lt;15; k++) { JSONObject json1 = array.getJSONObject(k).getJSONObject("problem"); JSONObject v = array.getJSONObject(k); if(v.getString("verdict").contentEquals("OK")) { m1 = json1.getString("name"); m2= json1.getString("contestId"); m2= m2.concat("/"); m3= json1.getString("index"); m2 = m2.concat(m3); flag = 0; for(int i=0; i&lt;cnt ; i++) { if (sarr[i].equals(m1)) { flag = 1; } } if(flag == 0) { m = m.concat(m1); m= m.concat(n1); sarr[cnt] = m1; name[cnt] = m2; cnt++; } } } return m; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (RuntimeException e) { e.printStackTrace(); } return "INVALID USER NAME"; } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub super.onPostExecute(result); httpStuff.setText(result); } } } } </code></pre>