Using listview in android

前端 未结 7 1987
你的背包
你的背包 2020-12-21 18:30

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,

7条回答
  •  鱼传尺愫
    2020-12-21 18:50

        //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
    
    
    
        
    
            
            
        
    
        
            
    
            
        
    
    
    

提交回复
热议问题