Использование списка в Android - PullRequest
1 голос
/ 10 февраля 2012

Я делаю приложение для Android, которое должно использовать ListView.Я хочу добавить меню с надписью «Добавить в список», и как только пользователь нажмет на это меню, появится всплывающее окно, содержащее TextView, EditText и два Buttons, «ОК» и «Отмена».Как только пользователь нажимает «ОК», текст внутри EditText должен быть добавлен к ListView.И отмена Button очевидна.Я также хочу иметь возможность долго нажимать на элемент ListView, чтобы открыть всплывающее окно, содержащее удаление Button.Я хочу создать экран ListView с использованием XML.Как я могу сделать это возможным ???Пожалуйста, помогите мне и большое спасибо заранее!Пока я использую этот код:

Деятельность ListView:

public class NotesActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}

Главный экран XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:orientation="vertical" >








<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

</ListView>

</LinearLayout>

Ответы [ 6 ]

8 голосов
/ 10 февраля 2012
  1. Вы должны создать макет, содержащий listView.

  2. Вы должны создать xml lyout, соответствующий одной строке вашего списка.

  3. Вы должны создать адаптер, который будет заполнять данные для вставки в ваш список.

  4. Вам нужно создать onClickListener на вашей кнопке, чтобы добавить данные в ваш список

  5. Если вы используете ArrayAdapter или CursorAdapter, добавьте новый элемент, который вы создали в список или курсор, используемый вашим адаптером и (notifyDataSetChanged() вызывается автоматически), поэтому ваш адаптер обновит listview

Источник: http://developer.android.com/resources/tutorials/views/hello-listview.html

Предыдущая тема: Динамический просмотр списка в приложении Android

3 голосов
/ 15 декабря 2012

подробнее: - http://www.listviewinandroid.blogspot.in/

   public class SimpleListViewActivity extends Activity {

  private ListView mainListView ;


  private ArrayAdapter<String> listAdapter ;

  public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// Find the ListView resource. 
mainListView = (ListView) findViewById( R.id.mainListView );

//


// Create and populate a List of planet names.
String[] planets = new String[] { "Mercury", "Venus", "Earth", "Mars",
                                  "Jupiter", "Saturn", "Uranus", "Neptune"};  




ArrayList<String> planetList = new ArrayList<String>();
planetList.addAll( Arrays.asList(planets) );




// Create ArrayAdapter using the planet list.
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, planetList);




// Add more planets. If you passed a String[] instead of a List<String> 
// into the ArrayAdapter constructor, you must not add more items. 
// Otherwise an exception will occur.
listAdapter.add( "Ceres" );
listAdapter.add( "Pluto" );
listAdapter.add( "Haumea" );
listAdapter.add( "Makemake" );
listAdapter.add( "Eris" );

   // Set the ArrayAdapter as the ListView's adapter.
mainListView.setAdapter( listAdapter ); 


mainListView.setOnItemClickListener(new OnItemClickListener() {

    public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
            long arg3) {

        //Log.i("m", "-"+pos);


    Intent myIntent = new Intent(SimpleListViewActivity.this, MainActivity.class);
    myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    myIntent.putExtra("pos", pos);
    startActivity(myIntent);

    }

});


  }
}

MainActivity.java

    package com.windrealm.android;
    import android.app.Activity;
    import android.os.Bundle;   
    import android.util.Log;
    import android.widget.TextView;



public class MainActivity extends Activity {
//TextView tv;

/** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainactivity);
 TextView   tv = (TextView) findViewById(R.id.textView1);
   Bundle b = getIntent().getExtras();
   int pos = b.getInt("pos"); 
    Log.i("pos=", "-"+pos);
     if(pos==0)

 {

      tv.setText("MERCURY \n Aphelion \n69,816,900 km\n0.466 697 AU\nPerihelion\n 46,001,200 km\n");




 }
 if(pos==2)
{
  tv.setText("earth");
}

  }

  }
0 голосов
/ 15 августа 2017

Попробуй таким образом

1 Mainlayout

  <ListView
    android:id="@+id/listviews"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"></ListView>

2 listitemlayout

  <TextView
    android:id="@+id/tviname"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />


  <TextView
    android:id="@+id/tvinum"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

3 MainActivity

ListView listviews;
ArrayList<String> listname=new ArrayList<>();
ArrayList<String> listnum=new ArrayList<>();

listviews=(ListView)findViewById(R.id.listviews);

    listname.add("amit");
    listnum.add("12334444444");

    listname.add("amit");
    listnum.add("12334444444");

    listviews.setAdapter(new Myadapter(MainActivity.this,listname,listnum));

4 AdapterClass

 public class Myadapter implements ListAdapter {

Activity activity;
ArrayList<String> listname, listnum;
int size;

public Myadapter(Activity activity, ArrayList<String> listname, ArrayList<String> listnum) {
    this.listname = listname;
    this.listnum = listnum;
    size = listname.size();
    this.activity = activity;
}

@Override
public View getView(int position, View view, ViewGroup viewGroup) {
    LayoutInflater inflater = (LayoutInflater) activity
            .getSystemService(activity.LAYOUT_INFLATER_SERVICE);

    View v = inflater.inflate(R.layout.mylayout, null);
    TextView tviname = (TextView) v.findViewById(R.id.tviname);
    TextView tvinum = (TextView) v.findViewById(R.id.tvinum);


    tviname.setText(listname.get(position));
    tvinum.setText(listnum.get(position));
    return v;
}

@Override
public void registerDataSetObserver(DataSetObserver observer) {
    // TODO Auto-generated method stub

}

@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
    // TODO Auto-generated method stub

}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return size;
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public boolean hasStableIds() {
    // TODO Auto-generated method stub
    return false;
}


@Override
public int getItemViewType(int position) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public int getViewTypeCount() {
    // TODO Auto-generated method stub
    return size;
}

@Override
public boolean isEmpty() {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean areAllItemsEnabled() {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean isEnabled(int position) {
    // TODO Auto-generated method stub
    return false;

}

}

0 голосов
/ 06 февраля 2015

адаптер:

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.beans.SongInfo;

public class LazyAdapter extends BaseAdapter {

    private Activity activity;
    private ArrayList<SongInfo> data1;
    private static LayoutInflater inflater=null;
    //public ImageLoader imageLoader; 

    public LazyAdapter(Activity a, ArrayList<SongInfo> d) {
        activity = a;
        data1=d;
        inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      //  imageLoader=new ImageLoader(activity.getApplicationContext());
    }

    public int getCount() {
        return data1.size();
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.list_row, null);

        TextView title = (TextView)vi.findViewById(R.id.title); // title
        TextView artist = (TextView)vi.findViewById(R.id.artist); // artist name
        TextView duration = (TextView)vi.findViewById(R.id.duration); // duration
        ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image); // thumb image

        SongInfo song=data1.get(position);

        // Setting all values in listview
        title.setText(song.getTitle());
        artist.setText(song.getArtist());
        duration.setText(song.getDuration());
        if(song.getArtist().equalsIgnoreCase("Adele")){
            thumb_image.setImageResource(R.drawable.rihanna);

        }else if(song.getArtist().equalsIgnoreCase("Rihanna")){
            thumb_image.setImageResource(R.drawable.rihanna);
        }else if(song.getArtist().equalsIgnoreCase("Eminem")){
            thumb_image.setImageResource(R.drawable.rihanna);
        }else if(song.getArtist().equalsIgnoreCase("Michael Jackson")){
            thumb_image.setImageResource(R.drawable.rihanna);
        }


//        imageLoader.DisplayImage(song.get(CustomizedListView.KEY_THUMB_URL), thumb_image);
        return vi;
    }
}
0 голосов
/ 06 февраля 2015

Пример списка:

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

import com.example.beans.SongInfo;



import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class BuddiesActivity extends Activity {

    int statusClass = 2;
    String taskResult="test";
    ListView list;
    LazyAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        new HttpAsyncTask().execute("http://en.wikipedia.org/w/api.php?format=json&action=query&titles=Main%20Page&prop=revisions&rvprop=content");

        do {
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        } while (statusClass == 2);                 


        setContentView(R.layout.activity_buddies);
//      TextView textview=(TextView)findViewById(R.id.buddies);
//      textview.setText(taskResult);

ArrayList<SongInfo> songsList1 = new ArrayList<SongInfo>();

        System.out.println("Emply ArrayList Created");

        songsList1=getListData();

        System.out.println("Data added to arrayList :"+songsList1.size()+" Data is: "+songsList1);

        list=(ListView)findViewById(R.id.list);

        System.out.println("ListView Got");
        // Getting adapter by passing xml data ArrayList
        adapter=new LazyAdapter(this, songsList1);

        System.out.println("Object Of Lazy Adapter created");
        list.setAdapter(adapter);

        System.out.println("adapter set..");


        // Click event for single list row
        /*list.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                initiatePopupWindow();

            }
        });*/




    }

    public ArrayList<SongInfo> getListData(){
        ArrayList<SongInfo> list=new ArrayList<SongInfo>();




        list.add(new SongInfo("Song", "1", "Someone Like You", "Adele", "4:47", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "2", "Space Bound", "Eminem", "4:34", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "3", "Stranger In Moscow", "Michael Jackson", "5:55", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "4", "Love The Way You Lie", "Rihanna", "4:23", "http://api.androidhive.info/music/images/adele.png"));

        list.add(new SongInfo("Song", "5", "Someone Like You", "Adele", "4:47", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "6", "Space Bound", "Eminem", "4:34", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "7", "Stranger In Moscow", "Michael Jackson", "5:55", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "8", "Love The Way You Lie", "Rihanna", "4:23", "http://api.androidhive.info/music/images/adele.png"));

        list.add(new SongInfo("Song", "9", "Someone Like You", "Adele", "4:47", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "10", "Space Bound", "Eminem", "4:34", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "11", "Stranger In Moscow", "Michael Jackson", "5:55", "http://api.androidhive.info/music/images/adele.png"));
        list.add(new SongInfo("Song", "12", "Love The Way You Lie", "Rihanna", "4:23", "http://api.androidhive.info/music/images/adele.png"));


        return list;


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.buddies, menu);
        return true;
    }


    private class HttpAsyncTask extends AsyncTask<String, Void, String> {
        AlertDialog.Builder builder;

    protected void onPreExecute() {
        super.onPreExecute();
        builder = new AlertDialog.Builder(BuddiesActivity.this);
    }

    @Override
    protected String doInBackground(String... urls) {
            return POST(urls[0]);
    }

    @Override
    protected void onPostExecute(String result) {
    }
}





    public String POST(String url) {
        System.out.println("I am in post data./..............................");
        HttpClient httpclient = new DefaultHttpClient();
        HttpGet httppost = new HttpGet(url);
        String result = null;
        try {
            HttpResponse response = httpclient.execute(httppost);
            int status = response.getStatusLine().getStatusCode();
            System.out.println("Status is : " + status);
//          ParseProductJson parseJson = new ParseProductJson();
            if (status == 200) {
                result = EntityUtils.toString(response.getEntity());
                System.out.println("################result1###############################"+ result);
                /*FileOutputStream fos = openFileOutput("productsJson.json",
                        Context.MODE_PRIVATE);
                fos.write(result.getBytes());
                fos.close();*/

                System.out.println("Done");
                taskResult=result;

                statusClass = status;
            } else {
                statusClass = 400;
                result = "Did not work!";
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }






}
0 голосов
/ 12 ноября 2014
    //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<ListGetterSetter> Arr_List;

            private LayoutInflater inflate;

            public  CustomAdapter(Activity a,ArrayList<ListGetterSetter> 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<ListGetterSetter> ListArray;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ListArray = new ArrayList<ListGetterSetter>();
            new GetList().execute();
            lst_list = (ListView)findViewById(R.id.lst_list);
            lst_list.setOnScrollListener(this);
        }

        public class GetList extends AsyncTask<Void, Void, Void>
        {

            @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<arraysize;i++)
                            {
                                ListGetterSetter ls = new ListGetterSetter();
                                JSONObject jsobj = jsarr.getJSONObject(i);
                                ls.setName(jsobj.getJSONObject("post").getString("vName"));
                                ls.setvAddress1(jsobj.getJSONObject("post").getString("vAddress1"));
                                ls.setD_dist(jsobj.getJSONObject("post").getString("d_dist"));
                                ls.setvAddress2(jsobj.getJSONObject("post").getString("vAddress2"));
                                ls.setImagepath(jsobj.getJSONObject("post").getString("vImage"));

                                ListArray.add(ls);
                            }

                            }

                            } catch (MalformedURLException e1) {
                            // TODO Auto-generated catch block
                            MSG = "MalformedURLException";
                            } catch (IOException e) {
                            // TODO Auto-generated catch block
                            MSG = "IOException";
                            } catch (JSONException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }





            }

        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            Log.i("Scroll End","Call1222");
            this.currentFirstVisibleItem = firstVisibleItem;
            this.currentVisibleItemCount = visibleItemCount;
            this.total = totalItemCount;
            // TODO Auto-generated method stub
            Log.i("Scroll End","Call1"+currentVisibleItemCount);

        }

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            // TODO Auto-generated method stub
             this.currentScrollState = scrollState;
             Log.i("Scroll End","Call2");
                this.isScrollCompleted();
        }

        public void isScrollCompleted()
        {

            final int lastItem = currentFirstVisibleItem + currentVisibleItemCount;
            if(lastItem == total) {
                // Last item is fully visible.
                selection=total;


                new GetList().execute();


            }
            if (this.currentVisibleItemCount ==ListArray.size() && this.currentScrollState == SCROLL_STATE_IDLE) {
                /*** In this way I detect if there's been a scroll which has completed ***/
                /*** do the work for load more date! ***/
                Log.i("Scroll End","Call");


            }
        }
    }



//List Row
<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tr_main"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="115dp"
        android:layout_weight="1"
        android:background="@drawable/listingbg"
        android:orientation="horizontal"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="5dp" >

        <FrameLayout
            android:id="@+id/img_image"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="5dp"
             >

            <ImageView android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/img_listimage"
                android:src="@drawable/listimg"/>

            <ProgressBar
                android:id="@+id/progressBar1"
                style="?android:attr/progressBarStyleLarge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:visibility="gone"/>

             </FrameLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/img_image"
            android:layout_marginLeft="8dp"
            android:layout_toLeftOf="@+id/relativeLayout1"
            android:gravity="center_vertical|center_horizontal"
            android:minWidth="100dp" >

            <TextView
                android:id="@+id/txt_dist"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:text="5 km"
                android:textColor="#000000"
                android:textSize="14sp"
                android:textStyle="bold" />
        </LinearLayout>

        <RelativeLayout
            android:id="@+id/relativeLayout1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="30dp"
            android:layout_toRightOf="@+id/img_image"
            android:paddingLeft="5dp" >

            <TextView
                android:id="@+id/txt_name"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:layout_toLeftOf="@+id/iv_fav_tbrow"
                android:ellipsize="end"
                android:gravity="left"
                android:singleLine="true"
                android:text="Restaurant namefbfbfbfbfdbfbfb"
                android:textColor="#2e1317"
                android:textSize="19dp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/iRestaddress"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/txt_name"
                android:layout_marginLeft="5dp"
                android:ellipsize="end"
                android:lines="2"
                android:maxEms="5"
                android:maxWidth="170dp"
                android:text="202, asharam road. Ahmedabad - 3000001"
                android:textColor="#2e1317"
                android:textSize="14dp" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/iRestaddress"
                android:layout_marginLeft="7dp"
                android:layout_marginTop="5dp"
                android:paddingBottom="1dp" >

                <ImageView
                    android:id="@+id/iv_rating1"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:src="@drawable/rat_star_off" />

                <LinearLayout
                    android:layout_width="6dp"
                    android:layout_height="wrap_content" >
                </LinearLayout>

                <ImageView
                    android:id="@+id/iv_rating2"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:src="@drawable/rat_star_off" />

                <LinearLayout
                    android:layout_width="6dp"
                    android:layout_height="wrap_content" >
                </LinearLayout>

                <ImageView
                    android:id="@+id/iv_rating3"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:src="@drawable/rat_star_off" />

                <LinearLayout
                    android:layout_width="6dp"
                    android:layout_height="wrap_content" >
                </LinearLayout>

                <ImageView
                    android:id="@+id/iv_rating4"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:src="@drawable/rat_star_off" />

                <LinearLayout
                    android:layout_width="6dp"
                    android:layout_height="wrap_content" >
                </LinearLayout>

                <ImageView
                    android:id="@+id/iv_rating5"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:src="@drawable/rat_star_off" />

                <LinearLayout
                    android:layout_width="6dp"
                    android:layout_height="wrap_content" >
                </LinearLayout>
            </LinearLayout>

            <ImageView
                android:id="@+id/iv_fav_tbrow"
                android:layout_width="25dp"
                android:layout_height="25dp"
                android:layout_above="@+id/iRestaddress"
                android:layout_alignParentRight="true"
                android:layout_marginRight="5dp"
                android:background="@drawable/ic_favorite"
                android:visibility="gone" />
        </RelativeLayout>
    </RelativeLayout>

</TableRow>



//main.xml

<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"
    tools:context=".MainActivity" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="328dp"
        android:layout_weight="0.79"
        android:orientation="vertical" >

        <ListView
            android:id="@+id/lst_list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll_load"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:gravity="center"
        android:orientation="horizontal"
        android:visibility="gone" 
        android:background="@drawable/listingbg"
        >
        <ProgressBar
            android:id="@+id/progressBar1"
            style="?android:attr/progressBarStyleLarge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Loading..."
            android:textSize="16dp" 
            android:textColor="@android:color/white"
            android:textStyle="bold"/>
    </LinearLayout>

</LinearLayout>
...