每当用户按下按钮时,TextView
的文本以及TextView
的背景图像都会改变。我创建了一个int[] array
来存储要在TextView.setBackgroundResource(array[index])
中使用的drawable的ID。但是在增加index
时,背景不会改变。我什至尝试使用array[]
的硬编码索引,但它仍设置第一个元素图像。
//j and drawable array are global variable.
int j=1;
int[] drawablearray=new int[]{R.drawable.girl,R.drawable.beach,R.drawable.flower};
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(j<drawablearray.length-1){
j++;
quoteTextView.setBackgroundResource(drawablearray[j]);
quoteTextView.getBackground().setAlpha(150);
}else{
j=0;
quoteTextView.setBackgroundResource(drawablearray[j]);
quoteTextView.getBackground().setAlpha(150);
}
});
答案 0 :(得分:0)
在您的代码中一切正常。
您是否正确初始化了CascadeType.ALL
?
您的点击可能无效。
更新
我已经更新了您的代码:
nextButton
对于前3次点击,它将显示三个不同的图像,然后设置为默认图像
答案 1 :(得分:-1)
您的while read line; do
if [[ $line =~ del ]] ; then echo $line; fi
done < file
NM_003924.3:c.765_779delGGCAGCGGCGGCAGC
NM_003924.3:c.765_779delGGCAGCinsGGCGGCAGC
变量必须为'global'。这意味着它必须是您的j
或Activity
的成员,而不是方法内部的变量
答案 2 :(得分:-1)
建议您使用“ if”条件代替:
j = (j+1) % drawablearray.length;
然后,变量j必须是您的Java类的字段(在每个方法之外声明它)
答案 3 :(得分:-1)
不确定自己在循环中得到了什么,但是尝试这种方式将有助于您按顺序设置阵列中的图像。
int j=0;
int[] drawablearray=new int[]{R.drawable.girl,R.drawable.beach,R.drawable.flower};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
quoteTextView.setBackgroundResource(drawablearray[j]);
quoteTextView.getBackground().setAlpha(150);
j++;
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(j < drawablearray.length) {
quoteTextView.setBackgroundResource(drawablearray[j]);
quoteTextView.getBackground().setAlpha(150);
j++;
}
else
{
j = 0;
quoteTextView.setBackgroundResource(drawablearray[j]);
quoteTextView.getBackground().setAlpha(150);
j++;
}
}
});
}