Информация о сеттерах и геттерах - PullRequest
0 голосов
/ 21 февраля 2012

Я много узнаю о геттерах и сеттерах, но, похоже, у меня не получается. У меня есть класс Apps_Info, который содержит мои сеттеры и геттеры, и у меня есть основной вид деятельности FavouriteApps, у которого есть список, в котором используется класс Apps_Info.
Я пытаюсь получить имя пакета из списка в FavouriteApps, но я все еще получаю нулевое значение.
Пожалуйста, может кто-нибудь сказать, что делать? Ниже приведен код в следующем порядке: класс Apps_Info и активность FavouriteApps

public class Apps_Info {
    private Bitmap bIcon;
    private String sName;
    private String sPacks_Name;

    public Apps_Info(Bitmap icon, String name, String Packs_Name) {
        bIcon = icon;
        sName = name;
        sPacks_Name = Packs_Name;
    }

    public void setIcon(Bitmap icon) {
        bIcon=icon;
    }

    public Bitmap getIcon() {
        return bIcon;
    }

    public void setName(String name) {
        sName=name;
    }

    public String getName() {
        return sName;
    }

    public void setPacks_Name(String Packs_Name) {
        this.sPacks_Name=Packs_Name;
    }

    public String getPacks_Name() {
        return sPacks_Name;
    }
}

FavouriteApps Код активности (часть)

String packname, packsname, apps_names;
Bitmap app_icon; 
Resources res = getResources();
List<Apps_Info> ListApps_Info = new ArrayList<Apps_Info>();
ListApps_Info.add(new Apps_Info(BitmapFactory.decodeResource(res, R.drawable.browser_app), "Browser", "com.browser"));
ListApps_Info.add(new Apps_Info(BitmapFactory.decodeResource(res, R.drawable.clock_app), "Alarm Clock", "com.alarm.clock"));
ListApps_Info.add(new Apps_Info(BitmapFactory.decodeResource(res, R.drawable.threegplus), "3G Secure Connection", "threeg.secureconnect"));

mGridView.setAdapter(new Apps_Info_Adapter(this, ListApps_Info));
Apps_Info packinfo = new Apps_Info(app_icon, apps_names, packname);
packsname = packinfo.getPacks_Name();
apps_names = packinfo.getName();
Log.i("The Pack_Name is " + packsname, "Pack Name");

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Вы должны сделать так.

for (int i = 0; i < ListApps_Info.size(); i++) {
    Apps_Info packinfo = ListApps_Info.item(i);
    packsname = packinfo.getPacks_Name();
    apps_names = packinfo.getName();
    Log.i("The Pack_Name is " + packsname, "Pack Name");
}
1 голос
/ 21 февраля 2012

Это потому, что вы никогда не инициализируете переменную packname в своем коде.

 String packname,packsname,apps_names;

Когда вы делаете это:

 Apps_Info packinfo=new Apps_Info(app_icon, apps_names,packname);
 packsname=packinfo.getPacks_Name();

у вашего получателя все хорошо, и это нормально, если он возвращает ноль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...