1. Download our Official Android App: Forums for Android!

Apps How put listview with checkbox in tab

Discussion in 'Android Development' started by Markella92, Apr 29, 2016.

  1. Markella92

    Markella92 Lurker
    Thread Starter
    Rank:
    None
    Points:
    5
    Posts:
    1
    Joined:
    Apr 29, 2016

    Apr 29, 2016
    1
    0
    5
    Male
    Hi guys, i created list view with checkbox...now i would know how insert this listview in a tab.
    this is my code for list view:

    Code (Text):
    1.  
    2. public class Main extends ActionBarActivity implements
    3.         android.widget.CompoundButton.OnCheckedChangeListener{
    4.  
    5.     ListView lv;
    6.     ArrayList<Planet> planetList;
    7.     PlanetAdapter plAdapter;
    8.  
    9.     @Override
    10.     protectedvoid onCreate(Bundle savedInstanceState){
    11.         super.onCreate(savedInstanceState);
    12.         setContentView(R.layout.main);
    13.  
    14.         lv =(ListView) findViewById(R.id.listview);
    15.         displayPlanetList();
    16.  
    17.  
    18.     }
    19.  
    20.     privatevoid displayPlanetList(){
    21.  
    22.         planetList =newArrayList<Planet>();
    23.         planetList.add(newPlanet("Margherita",6,"€"));
    24.         planetList.add(newPlanet("Diavola",7,"€"));
    25.         planetList.add(newPlanet("Bufalina",5,"€"));
    26.         planetList.add(newPlanet("Marinara",5,"€"));
    27.         planetList.add(newPlanet("Viennese",4,"€"));
    28.  
    29.         plAdapter =newPlanetAdapter(planetList,this);
    30.         lv.setAdapter(plAdapter);
    31.     }
    32.  
    33.     @Override
    34.     publicvoid onCheckedChanged(CompoundButton buttonView,boolean isChecked){
    35.  
    36.         int pos = lv.getPositionForView(buttonView);
    37.         if(pos !=ListView.INVALID_POSITION){
    38.             Planet p = planetList.get(pos);
    39.             p.setSelected(isChecked);
    40.  
    41.  
    42.             /*Toast.makeText(
    43.                     this,
    44.                     "Clicked on Planet: " + p.getName() + ". State: is "
    45.                             + isChecked, Toast.LENGTH_SHORT).show();*/
    46.         }
    47.  
    48.     }
    49.     publicvoid showResult(View v){
    50.         String result ="Selected Product are :";
    51.         int totalAmount=0;
    52.  
    53.         for(Planet p : plAdapter.getBox()){
    54.             if(p.selected){
    55.                 result +="\n"+ p.name+" "+p.distance+"€"+"q.tà :"+p.getQuantità();
    56.                 //if (p.quantità.equals("") && p.quantità.equals(null) ){
    57.                 System.out.println("leggo questo record:"+p.name +" "+ p.distance +" "+ p.quantità);
    58.  
    59.                 System.out.println("leggo questo p.getquatità :"+p.quantità);
    60.                 //}
    61.                 //else{
    62.                     System.out.println("leggo questo in p.quantità: "+p.getQuantità());
    63.                     int quantitaInt=Integer.parseInt(p.getQuantità());
    64.                     totalAmount+=p.distance * quantitaInt;
    65.                 //}
    66.             }
    67.         }
    68. //      Toast.makeText(this, result+"\n"+"Total Amount:="+totalAmount, Toast.LENGTH_LONG).show();
    69.         //Integer.toString(totalAmount);
    70.         Intent i =newIntent(Main.this,SecondActivity.class);
    71.         i.putExtra("NomeDati1", result);
    72.         i.putExtra("NomeDati2",String.valueOf(totalAmount));
    73.         startActivity(i);
    74.  
    75.     }
    76. }
    77.  
    78. classPlanet{
    79.  
    80.     String name;
    81.     int distance;
    82.     String quantità;
    83.     String valuta;
    84.     boolean selected =false;
    85.  
    86.  
    87.  
    88.     publicPlanet(String name,int distance,String quantità){
    89.         super();
    90.         this.name = name;
    91.         this.distance = distance;
    92.         this.quantità= quantità;
    93.     }
    94.  
    95.     publicString getName(){
    96.         return name;
    97.     }
    98.  
    99.     publicvoid setName(String name){
    100.         this.name = name;
    101.     }
    102.  
    103.     publicint getDistance(){
    104.         return distance;
    105.     }
    106.  
    107.     publicvoid setDistance(int distance){
    108.         this.distance = distance;
    109.     }
    110.  
    111.     publicboolean isSelected(){
    112.         return selected;
    113.     }
    114.  
    115.     publicvoid setSelected(boolean selected){
    116.         this.selected = selected;
    117.     }
    118.  
    119.     publicString getQuantità(){
    120.         return quantità;
    121.     }
    122.  
    123.     publicvoid setQuantità(String quantità){
    124.         this.quantità= quantità;
    125.     }
    126.     publicString getValuta(){
    127.         return valuta;
    128.     }
    129.  
    130.     publicvoid setValuta(String valuta){
    131.         this.valuta = valuta;
    132.     }
    133.  
    134. }
    135.  
    136. publicclassPlanetAdapterextendsArrayAdapter<Planet>{
    137.  
    138.     privateList<Planet> planetList;
    139.     privateContext context;
    140.     ArrayList<Planet> objects;
    141.  
    142.  
    143.     publicPlanetAdapter(List<Planet> planetList,Context context){
    144.         super(context, R.layout.single_listview_item, planetList);
    145.         this.planetList = planetList;
    146.         this.context = context;
    147.     }
    148.  
    149.     publicclassPlanetHolder{
    150.         publicTextView planetName;
    151.         publicTextView distView;
    152.         publicCheckBox chkBox;
    153.         publicEditText edit;
    154.         publicString quantità;
    155.  
    156.  
    157.  
    158.     }
    159.  
    160.     @Override
    161.     publicView getView(int position,View convertView,ViewGroup parent){
    162.  
    163. View row = convertView;
    164.         PlanetHolder holder =null;
    165.         if(row ==null){
    166.             LayoutInflater inflater =((Activity) context).getLayoutInflater();
    167.             row = inflater.inflate(R.layout.single_listview_item, parent,false);
    168.             holder =newPlanetHolder();
    169.             holder.planetName =(TextView) row.findViewById(R.id.name);
    170.             holder.distView =(TextView) row.findViewById(R.id.dist);
    171.             holder.chkBox =(CheckBox) row.findViewById(R.id.chk_box);
    172.             holder.edit =(EditText) row.findViewById(R.id.editText);
    173.             holder.edit.setVisibility(View.GONE);
    174.             holder.edit.setEnabled(false);
    175.             row.setTag(holder);
    176.         }else{
    177.             holder =(PlanetHolder) row.getTag();
    178.         }
    179.         finalPlanet p = planetList.get(position);
    180.  
    181.         holder.chkBox.setOnCheckedChangeListener((Main) context);
    182.         finalPlanetHolder finalHolder = holder;
    183.         holder.chkBox.setOnClickListener(newView.OnClickListener(){
    184.             @Override
    185.             publicvoid onClick(View v){
    186.                 if(finalHolder.chkBox.isChecked()){
    187.                     finalHolder.edit.setVisibility(View.VISIBLE);
    188.                     finalHolder.edit.setEnabled(true);
    189.                     finalHolder.edit.addTextChangedListener(newTextWatcher(){
    190.                         @Override
    191.                         publicvoid beforeTextChanged(CharSequence s,int start,int count,int after){
    192.                         }
    193.  
    194.                         @Override
    195.                         publicvoid onTextChanged(CharSequence s,int start,int before,int count){
    196.                         }
    197.  
    198.                         @Override
    199.                         publicvoid afterTextChanged(Editable s){
    200.                             p.setQuantità(finalHolder.edit.getText().toString().trim());
    201.                         }
    202.                     });
    203.                 }else{
    204.                     finalHolder.edit.setVisibility(View.GONE);
    205.                     finalHolder.edit.setEnabled(false);
    206.                     finalHolder.edit.setText(null);
    207.                 }
    208.             }
    209.         });
    210.         holder.planetName.setText(p.getName());
    211.         holder.distView.setText(""+ p.getDistance());
    212.         holder.chkBox.setChecked(p.isSelected());
    213.         holder.chkBox.setTag(p);
    214.         holder.edit.setEnabled(false);
    215.  
    216.         return row;
    217.     }
    218.  
    219.  
    220.     ArrayList<Planet> getBox(){
    221.         ArrayList<Planet> box =newArrayList<Planet>();
    222.         for(Planet p : planetList){
    223.             if(p.selected)
    224.                 box.add(p);
    225.         }
    226.         return box;
    227.     }
    228.  
    229.  
    230. }
    231.  
    MAIN.XML:
    Code (Text):
    1.  
    2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    3.     android:layout_width="match_parent"
    4.     android:layout_height="match_parent"
    5.     android:orientation="vertical">
    6.  
    7.     <ListView
    8.         android:id="@+id/listview"
    9.         android:layout_width="fill_parent"
    10.         android:layout_height="400dp">
    11.  
    12.     </ListView>
    13.     <Button
    14.         android:layout_width="200dp"
    15.         android:layout_height="wrap_content"
    16.         android:layout_gravity="center_horizontal"
    17.         android:onClick="showResult"
    18.         android:text="get_answer">
    19.     </Button>
    20.  
    SINGLE_LISTVIEW_ITEM.XML

    Code (Text):
    1.  
    2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    3.     xmlns:tools="http://schemas.android.com/tools"
    4.     android:layout_width="match_parent"
    5.     android:layout_height="wrap_content"
    6.     android:orientation="horizontal">
    7.  
    8.     <CheckBox
    9.         android:id="@+id/chk_box"
    10.         android:layout_width="wrap_content"
    11.         android:layout_height="wrap_content"
    12.         android:layout_alignParentLeft="true"/>
    13.     <LinearLayout
    14.         android:id="@+id/linearLayout1"
    15.         android:layout_width="0dp"
    16.         android:layout_height="wrap_content"
    17.         android:layout_marginLeft="5dp"
    18.         android:orientation="vertical"
    19.         android:layout_weight="1">
    20.  
    21.     <TextView
    22.         android:id="@+id/name"
    23.         android:layout_width="wrap_content"
    24.         android:layout_height="wrap_content"
    25.         android:layout_toRightOf="@id/chk_box"
    26.         android:textStyle="bold"/>
    27.  
    28.     <TextView
    29.         android:id="@+id/dist"
    30.         android:layout_width="wrap_content"
    31.         android:layout_height="wrap_content"
    32.         android:layout_below="@id/name"
    33.         android:layout_toRightOf="@id/chk_box"
    34.         android:textSize="12sp"
    35.         android:textStyle="italic"/>
    36.     <EditText
    37.         android:layout_width="196dp"
    38.         android:layout_height="wrap_content"
    39.         android:inputType="number"
    40.         android:ems="10"
    41.         android:id="@+id/editText"
    42.         android:hint="quantità"
    43.         >
    44.     </EditText>
    45.     </LinearLayout>
    46.  
    47. </LinearLayout>
    48.  
    HELP ME PLEASE
     

    Advertisement

  2. Unforgiven

    Unforgiven OK Google
    Moderator
    Rank:
     #1
    Points:
    4,238
    Posts:
    36,339
    Joined:
    Jun 23, 2010

    Jun 23, 2010
    36,339
    42,526
    4,238
    Male
    Douglas, MA
    Application Development thread moved to the Development forum for better exposure.:)
     
  3. LV426

    LV426 I say we take off and nuke this place from orbit
    Moderator
    Rank:
     #11
    Points:
    1,988
    Posts:
    7,889
    Joined:
    Oct 16, 2015

    Oct 16, 2015
    7,889
    11,554
    1,988
    Male
    Software developer
    South West of England
    Unforgiven likes this.

Share This Page

Loading...