有关 setter 和 getter 的信息

发布于 2025-01-07 10:02:45 字数 1812 浏览 1 评论 0原文

我正在广泛学习有关 getter 和 setter 的知识,但我似乎没有按我的方式进行。 我有一个名为 Apps_Info 的类,其中包含我的 setter 和 getter,并且我有我的主要活动 FavouriteApps,它有一个使用 Apps_Info 类的列表。
我试图从 FavouriteApps 的列表中获取包的名称,但仍然为 null。
请问有人可以告诉我该怎么做吗?下面是按顺序排列的代码: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");

I am learning extensively about getters and setters but I seem not to be having my way.
I have a class called Apps_Info which contains my setters and getters and I have my main activity FavouriteApps that has a list which uses the class Apps_Info.
I am trying to get the name of the package from the List in FavouriteApps but I am still getting null.
Please can someone tell what to do? Below is the code in this order: class Apps_Info and FavouriteApps activity

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 Activity code (part)

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");

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三五鸿雁 2025-01-14 10:02:45

你应该这样做。

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");
}

You should do like this.

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");
}
迟月 2025-01-14 10:02:45

这是因为您从未在代码中初始化 packname 变量。

 String packname,packsname,apps_names;

当你这样做时:

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

你的 getter 做得很好,如果它返回 null,这是正常的。

It's because you never initialize the packname variable in your code.

 String packname,packsname,apps_names;

When you do this :

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

your getter is doing well and this is normal if it returns null.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文