آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

لیست علاقه مندی با استفاده از چک باکس

farzaneh___  9 سال پیش  9 سال پیش
0 0

سلام

میخاستم بدونم برای لیست علاقه مندی باید از چک باکس استفاده کنم یا از یه ایمیج سوییچر که شکلش عوض میشه؟!

هرچی سرچ کردم به نتیجه درست نرسیدم.از طرفی کار با چک باکس رو بلد نیستم.

یه دیتابیسی دارم که داخل جدولم یه ستون برای علاقه در نظرگرفتم که درصورت مورد علاقه بودن اون ایتم، یک باشه و در غیر این صورت صفر.میدونم باید رو چک باکس که کلیک میکنه یک رو داخل ستون جدول بزاره و تغییراتی که باید صورت بگیره با دستور اپدیت دیتابیس باید کارکنم و اینا .اما مشکل اصلیم تو کار با چک باکسه هیچی ازش نمیدونم. لطفا کمکم کنید هرچی زودتر بهتر .ممنون ازتون.اگه کدمثال بزنید ممنون میشم.

متاسفانه تو سایت هم سرچ میزنم برای اعضای ویژه پاسخ ها قابل نمایشه

+1 0
میتونید از ایمیج ویو استفاده کنید و در صورتی که آیتم مورد نظر به انتخاب شده بود یه ستاره توپر و در غیر اینصورت یه ستاره توخالی توش استفاده کنید.... (9 سال پیش)
0 0
آقای فرمانی ممنون از نظرتون لیست علاقه مندی ام با چک باکس درست شد.فقط یه مشکلی داره اینکه وقتی از اکتیویتی خارج میشم رنگ ستاره برمیگرده ینی به حالتی که انتخاب نیست!چون true یا falseبودن چک باکس بستگی به دیتابیس داره و داخل لیست نشون داده میشه توسط یه هولدر مشکل دارم. میخام با استفاده از کد چک باکس رو trueکنم اما نمیشه از دستور setCheck(true) استفاده میکنم اما ارور میده به دلیل هولدر اگه کسی میدونه راهنمایی کنه ممنون (9 سال پیش)
0 0
احتمالا شما پروسه وابسته کردن چک باکس به دیتاهایی که از دیتابیس میخونین رو اشتباهی انجام دادید....کدهای کلاس Adapter و کلاس Activity که لیستتون توش ساخته میشه رو قرار بدید که دوستان بهتر بتونن راهنماییتون کنن (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
farzaneh___  9 سال پیش
0 0

این محتوای کل اکتیویتی لیست من هستش:شامل اداپتر و...

ممنون میشم اگه راهنماییم کنید

 

 package com.example.pegah_system.datebase;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;

import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.Toast;

import java.util.ArrayList;

import data.Constants;
import data.DatabaseHandlre;
import model.MyLocation;

public class DisplayLocation extends Activity {


    private DatabaseHandlre dbl;
    private ArrayList<MyLocation> dblocation = new ArrayList<>();
    private LocationAdapter locationAdapter;
    private ListView listView;
    private CheckBox checkboxFavorite;
    String fname;
    int foreignKeyL;
    int amountL=0;//for update favorite
    int idUpdate=0;//for update favorite
    int idNow=0;//id for row
    int favorite;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_location);

        listView =(ListView) findViewById(R.id.listLocation);

        Bundle bundleL=getIntent().getExtras();
        if(bundleL!=null) {
            fname=bundleL.getString("factionName");
            foreignKeyL=bundleL.getInt("factionItemId");
            refreshDataL();
        }
    }

    private void refreshDataL() {
        dblocation.clear();
        dbl = new DatabaseHandlre(getApplicationContext());
        ArrayList<MyLocation> locationFromDB = dbl.getLocation(foreignkey);

        for (int i = 0; i < locationFromDB.size(); i++) {

            int lid = locationFromDB.get(i).getLocationItemId();
            String locationname = locationFromDB.get(i).getLocationName();
            Float xlocation=locationFromDB.get(i).getXLocation();
            Float ylocation=locationFromDB.get(i).getYLocation();
            int intrested=locationFromDB.get(i).getIntrested();
            int foreignKeyLocation=locationFromDB.get(i).getForeignKeyLocation();

            MyLocation myLocation = new MyLocation();
            myLocation.setLocationItemId(lid);
            myLocation.setLocationName(locationname);
            myLocation.setXLocation(xlocation);
            myLocation.setYLocation(ylocation);
            myLocation.setIntrested(intrested);
            myLocation.setForeignKeyLocation(foreignKeyLocation);

            dblocation.add(myLocation);

        }
        dbl.close();

        //setup adapter
        locationAdapter = new LocationAdapter(
                DisplayLocation.this,
                R.layout.location_row,
                dblocation);

        listView.setAdapter(locationAdapter);
        locationAdapter.notifyDataSetChanged();

    }

    public class LocationAdapter extends ArrayAdapter<MyLocation> {
        Activity activity;
        int layoutResource;
        ArrayList<MyLocation> mData = new ArrayList<>();

        public LocationAdapter(Activity act, int resource, ArrayList <MyLocation> data) {
            super(act, resource, data);
            activity = act;
            layoutResource = resource;
            mData = data;
            notifyDataSetChanged();
        }

        @Override
        public int getCount() {return mData.size();}

        @Override
        public MyLocation getItem(int position) {
            return mData.get(position);
        }

        @Override
        public int getPosition(MyLocation item) {
            return super.getPosition(item);
        }

        @Override
        public long getItemId(int position) {return super.getItemId(position);}

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View row = convertView;
            ViewHolder holder = null;

            if (row == null || (row.getTag()) == null) {
                LayoutInflater inflater = LayoutInflater.from(activity);
                row = inflater.inflate(layoutResource, null);

                holder = new ViewHolder();
                holder.lName=(TextView) row.findViewById(R.id.txtLocation);
                holder.intrested= row.findViewById(R.id.checkIntrested);//اتصال به چک باکس

                row.setTag(holder);
            }
            else {
                holder = (ViewHolder) row.getTag();
            }

            holder.myLocation = getItem(position);



            if (holder.myLocation.getIntrested()==1)
            {
                       // checkboxFavorite.setChecked(true);
                        Toast.makeText(getApplicationContext()," is  favorite",Toast.LENGTH_LONG).show();

            }
            if(holder.myLocation.getIntrested()==0){

                //  checkboxFavorite.setChecked(false);
                Toast.makeText(getApplicationContext()," isnot favorite",Toast.LENGTH_LONG).show();

            }





            favorite=holder.myLocation.getIntrested();
            Log.v("favorite?", String.valueOf(holder.myLocation.getIntrested()));
            holder.lName.setText(holder.myLocation.getLocationName());





            final ViewHolder favoriteHolder=holder;
            holder.intrested.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String textfavorite = favoriteHolder.myLocation.getLocationName().toString();
                    int idfavorite = favoriteHolder.myLocation.getLocationItemId();
                    if(((CheckBox)v).isChecked()==false){
                        idUpdate=idfavorite;
                        amountL=0;
                        dbl.setUpdate(idUpdate,amountL);
                       Toast.makeText(getApplicationContext(),textfavorite+" delete from favorite list",Toast.LENGTH_SHORT).show();
                    }
                    else if(((CheckBox)v).isChecked()==true){
                        idUpdate=idfavorite;
                        amountL=1;
                        dbl.setUpdate(idUpdate,amountL);
                       Toast.makeText(getApplicationContext(),textfavorite+"add to favorite list",Toast.LENGTH_SHORT).show();
                    }
                }
            });
            return row;
        }

        class ViewHolder {
            MyLocation myLocation;
            TextView lName;
            int lId;
            Float xLocation;
            Float yLocation;
            View intrested;     ///مربوط به چک باکس
            int foreignKeyLocation;
        }

    }

}

 

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .