gpt4 book ai didi

android - 自定义整数按钮状态(不是 bool 值!)

转载 作者:行者123 更新时间:2023-11-29 01:50:14 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何为我的 Android 应用程序创建和使用自定义整数按钮状态。我找到了 this用于创建 bool 值(只有两个可能的值)按钮状态的链接,这似乎工作正常。但是我现在有一个案例,我希望有多个状态的可能性,我想用一个整数来指定它们。

这是我现在正在做的:

import android.content.Context;
import android.util.Log;
import android.widget.ImageView;

public class MultiStateImageView extends ImageView{
private final static String LOG_TAG = MultiStateImageView.class.getSimpleName();

private static final int[] MULTI_STATE = {R.attr.multi_state};

private final int numStates;
private int state;

public MultiStateImageView(Context context, int numStates){
super(context);
this.numStates = numStates;
state = 0;
}

public void setState(int state){
if(state >= numStates){
Log.e(LOG_TAG, "can't set a state higher than the number available!");
}
this.state = state;
refreshDrawableState();
}

@Override
public int[] onCreateDrawableState(int extraSpace){
final int[] drawableState = super.onCreateDrawableState(extraSpace + 2);
mergeDrawableStates(drawableState, MULTI_STATE);
return drawableState;
}

问题是我显然根本没有使用状态字段。我应该如何为整数状态执行此操作?

最佳答案

我认为这是不可取的,这就是它不受支持的原因。在我的例子中,我尝试了一种状态,该状态采用 idle=0、walk=1 和 run=2 的数值作为按钮。我将其更改为三个独立的状态作为 bool 值。在我的示例中,一个状态可能为真,因此如果它们的组合为真,则会随机选择一个作为状态。我希望我能找到一种方法来做到这一点,但不允许超过一个真实状态,比如数值方法。

关于android - 自定义整数按钮状态(不是 bool 值!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18644825/

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