I am displaying event names which from a database and adding them to a Layout
.Now i want to open another layout which contains the details of a particular Event which i have clicked.How do i add onclick
to a text which i have displayed? I want to make a text clickable.
package com.example.desisquarea;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.Bundle;
import android.app.ListActivity;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class FullDetails extends ListActivity {
//LIST OF ARRAY STRINGS WHICH WILL SERVE AS LIST ITEMS
ArrayList<String> listItems=new ArrayList<String>();
//DEFINING A STRING ADAPTER WHICH WILL HANDLE THE DATA OF THE LISTVIEW
ArrayAdapter<String> adapter;
private ListView lv;
//RECORDING HOW MANY TIMES THE BUTTON HAS BEEN CLICKED
int clickCounter=0;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.activity_full_details);
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listItems);
setListAdapter(adapter);
Log.v("hiiii", "1@@@@ ");
lv = (ListView) findViewById(android.R.layout.listView1);
Log.v("hiiii", "2i@@@@ ");
fullItems(null);
}
//ArrayList<String> all = new ArrayList<String>();
JSONArray all=new JSONArray();
String size;
//METHOD WHICH WILL HANDLE DYNAMIC INSERTION
public void fullItems(View v) {
String result = "";
InputStream is=null;
//the year data to send
// ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
// nameValuePairs.add(new BasicNameValuePair("year","1980"));
//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://motal.com/and/events.jsp");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
//parse json data
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
size=json_data.getString("size");
for(int j=0;j<Integer.parseInt(size);j++){
// Log.v("JSONObject", "JSONObject @@@"+json_data.getJSONArray("res"+j));
all=json_data.getJSONArray("res"+j);
listItems.add("ID"+all.get(0));
listItems.add("\n Venue"+all.get(1));
listItems.add(" Price:"+all.get(2));
//listItems.add(all.get(0)+" \n venue:"+all.get(1)+" Price:"+all.get(3));
lv.setAdapter(adapter);
}
}
}
catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
adapter.notifyDataSetChanged();
}
}
activity_full_details.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/listView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false" />
</LinearLayout>
Log message
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.desisquarea/com.example.desisquarea.FullDetails}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'