I am making an android application that needs to use a ListView. I want to add a menubutton that says \"Add to list\" and once the user presses that menubutton,
//Adapter
package com.example.androidlistview;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
public class CustomAdapter extends BaseAdapter{
ProgressBar pro;
private Activity activity;
private ArrayList Arr_List;
private LayoutInflater inflate;
public CustomAdapter(Activity a,ArrayList arr)
{
activity = a;
Arr_List = arr;
inflate = (LayoutInflater)a.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Arr_List.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return Arr_List.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
String url = null;
Log.i("getView","called");
if(convertView==null){
holder = new ViewHolder();
url ="ImagePath";
convertView = inflate.inflate(R.layout.tbrow, null);
holder.txtname = (TextView)convertView.findViewById(R.id.txt_name);
holder.txtdist = (TextView)convertView.findViewById(R.id.txt_dist);
holder.txtaddress = (TextView)convertView.findViewById(R.id.iRestaddress);
holder.image = (ImageView)convertView.findViewById(R.id.img_listimage);
holder.txtname.setText(Arr_List.get(position).getName());
holder.txtdist.setText(Arr_List.get(position).getD_dist());
holder.txtaddress.setText(Arr_List.get(position).getvAddress2());
Log.i("URLLRLRLRRL",""+url);
Picasso.with(activity).load(url).placeholder(R.drawable.listimg).noFade().into(holder.image);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}
public static class ViewHolder {
public TextView txtname,txtaddress,txtdist;
public ImageView image;
}
}
//Call Main Activity
package com.example.androidlistview;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.LinearLayout;
import android.widget.ListView;
public class MainActivity extends Activity implements OnScrollListener{
int currentFirstVisibleItem,currentVisibleItemCount,currentScrollState,total;
int selection=0;
ProgressDialog pd_load;
ListView lst_list;
String MSG;
LinearLayout ll;
ArrayList ListArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListArray = new ArrayList();
new GetList().execute();
lst_list = (ListView)findViewById(R.id.lst_list);
lst_list.setOnScrollListener(this);
}
public class GetList extends AsyncTask
{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
// pd_load = new ProgressDialog(MainActivity.this);
// pd_load.setMessage("Loading...");
// pd_load.show();
ll = (LinearLayout)findViewById(R.id.ll_load);
ll.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
getdata();
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
// if(pd_load.isShowing())
// {
// pd_load.dismiss();
// }
ll.setVisibility(View.GONE);
CustomAdapter cst = new CustomAdapter(MainActivity.this, ListArray);
lst_list.setAdapter(cst);
lst_list.setSelection(selection);
super.onPostExecute(result);
}
public void getdata()
{
try
{
URL url = new URL("url");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
int code = connection.getResponseCode();
if (code != 200) {
MSG = "Internet connection not available";
//setContentView(R.layout.webimg);
} else {
BufferedReader dis = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String myString, Result = dis.readLine();
while ((myString = dis.readLine()) != null) {
Result += myString;
}
JSONObject jsonObject = new JSONObject(Result);
JSONArray jsarr = jsonObject.getJSONArray("posts");
int arraysize = jsarr.length();
for(int i=0;i
//main.xml