设置一个可以保存动态信息的按钮

Posted

技术标签:

【中文标题】设置一个可以保存动态信息的按钮【英文标题】:Set up a button that can hold dynamic information 【发布时间】:2015-02-28 06:35:04 【问题描述】:

我正在尝试设置一个按钮,用户可以按下该按钮将他们带到字母表的下一个字母。我之前通过创建 26 个不同的类来实现这一点,但时间太长了。

绿色箭头向左和向右将用于将用户带到他们当前正在查看的字母中的上一个或下一个字母。

我已经尝试过使用案例,如果条件,现在已经没有想法了?

这是一个简单的问题,但也有复杂的一面,我只想在用户单击每个字母时更改图像和声音。如果您能以任何方式提供帮助,它实际上会解决的不仅仅是我提出的这个问题。提前致谢。

图形用户界面的照片。

【问题讨论】:

1 个 ImageView,5 个按钮。完成的。啊,当然,26*2(小写和大写)字母字符(难道你不更好在TextView中使用字体字符,也许是一个不错的字体?)和图形按钮。 我使用了一个切换按钮,因此用户可以打开和关闭它,它会将图像从大写字母更改为小写字母,因此它只有 26 个类以及更多用于启动和菜单等的类 您不需要为每个字母分类。听起来很糟糕。 【参考方案1】:

我希望这就是你所追求的。假设你有一组 26 张图片,每张图片代表一个字母,你可以像这样在一个 int 数组中定义它们(在这个例子中我只用到了“d”):

int[] images = R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d;

例如,您的 ImageView 是:

ImageView letter = (ImageView) findViewById(R.id.letter);

一个整数,用于根据 int[] 图像的索引设置上一张/下一张图像:

int index;

假设你的后退/下一个按钮是 backBtn 和 nextBtn,设置 onClick 监听器,它将在每次点击时设置“index”的值(我们检查 onClick 是否仅在 index 的值在 int[ 的范围内时执行] 图片(从 0 到 images.length):

backBtn.setOnClickListener(new OnClickListener() 
    @Override
    public void onClick(View v) 
        if (index > 0) 
            letter.setImageResource(images[index]);
            index -= 1;
        
    
);

nextBtn.setOnClickListener(new OnClickListener() 
    @Override
    public void onClick(View v) 
        if (index < images.length) 
            letter.setImageResource(images[index]);
            index += 1;
        
    
);

我没有对此进行任何测试,但我认为它应该可以工作。希望我没有再次误解你;)

【讨论】:

我不确定您的意思,您能否更好地解释一下,因为我对 android 开发相当陌生。 抱歉,我误解了你的问题,但请给我几分钟的时间来编辑答案,我认为更符合你的要求;) 去狂欢吧,这似乎是一个合乎逻辑的解决方案 我会及时通知你结果。再次感谢。 除此之外,一切正常,没有错误。 ImageView 字母 = (ImageView) findViewById(R.id.btna);我应该有 ImageView - letter.....for each letter so x26 吗? 不,只需要一个 ImageView 即可。检查它是否存在于您的布局中,并具有正确的 id(在您的实例中为 btna)。否则,很高兴它正在工作或至少为您指明正确的方向;)

以上是关于设置一个可以保存动态信息的按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何动态设置单选按钮的 'checked' 属性。

Axure中继器实现子表的展开和收缩

发出从 firebase 调用信息以设置按钮标题的问题

C# winform程序,怎么实现菜单的功能?

怎么查看网页保存的密码

如何创建自己电脑开机动态密码