gpt4 book ai didi

Android:是否可以复制一个 View ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:04:17 25 4
gpt4 key购买 nike

我正在开发的应用程序需要一个显示配置文件的 Horizo​​ntalScrollView 的动态布局。配置文件只是一个带有图片和一些文本的 RelativeLayout。由于我从数据文件中获取数据,因此我需要为每个配置文件创建一个相对布局。起初,我在 for 循环中以编程方式创建了每个 RelativeLayout,然后将其添加到父 View 。这行得通,但我不想这样做。我想根据设备的屏幕尺寸等使用不同的布局文件。

然后我想。好吧,如果我有一个只有一个配置文件的布局怎么办?我的代码可以使用 findViewById() 获取该配置文件,然后基于它创建新的配置文件!换句话说:

    // get the layout
profileLayout = (LinearLayout) findViewById(R.id.profileLayout);

// get the first profile in the layout
originalProfile = (RelativeLayout) findViewById(R.id.profile1);

// make copy of profile
temporaryProfile = originalProfile;

// make changes to the this profile and add it back
profileLayout.addView(temporaryProfile);

当然,这是行不通的,因为这是 java 并且 temporaryProfile 现在是对 originalProfile 的引用。那么有没有办法复制这个RelativeLayout呢?我知道 LayoutInflater,但我仍然不明白它是如何工作的。还有 Object.clone()

最佳答案

没那么多。听起来您的特定情况可能会受益于某种 ListView 和适配器(有关信息,请参阅 this 等资源)。如果不是,那么 LayoutInflater 是最佳答案,因为它正是您想要的。获取一个,然后您可以使用它来“膨胀”您在 XML 布局文件中定义的任何 View ,并用它做任何您想做的事情。

Here's对充气机的精彩讨论。

关于Android:是否可以复制一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9122353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com