如何在按下某个按钮后阻止用户更改spinner
中所选的值?
就像从spinner
中选择所需的值后,用户将按button
,之后他们将不会看到spinner
中的值,除了spinners
最高值,即所选值,以便不对所选值进行任何更改。
更新: - 是的same button
也是在Layout
的压力下动态创建的,所以它应该只锁定以前创建的微调器而不是新的微调器。 < / p>
动态创建Spinner
的代码,其中包含EditText
以及Button
&amp; View.OnClickListener addListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
final RelativeLayout newView = (RelativeLayout) getLayoutInflater().inflate(R.layout.product_row_detail, null);
newView.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
ImageButton btnRemove = (ImageButton) newView.findViewById(R.id.btnRemove);
btnRemove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
container.removeView(newView);
}
});
container.addView(newView);
: -
{{1}}
答案 0 :(得分:2)
简单地只需在按钮上单击
即可禁用微调器 spinner.setEnabled(false);
答案 1 :(得分:2)
在onClick方法中,您只需将可见性设置为GONE即可删除视图,如下所示:
View.OnClickListener addListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
final RelativeLayout newView = (RelativeLayout) getLayoutInflater().inflate(R.layout.product_row_detail, null);
newView.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
ImageButton btnRemove = (ImageButton) newView.findViewById(R.id.btnRemove);
btnRemove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
newView.setVisibility(View.GONE); // remove (hide) your view
}
});
container.addView(newView);
要再次启用它,您可以将其可见性设置为VISIBLE,如下所示:
newView.setVIsibility(View.VISIBLE);
或者您可以显示/隐藏您的微调器,如下所示:
your_spinner.setVisibility(View.GONE); // to remove (hide)
your_spinner.setVisibility(View.VISIBLE); // to make it visible
如果您只想禁用微调器:
your_spinner.setEnabled(false);
希望它有所帮助。
答案 2 :(得分:0)
您需要创建一个变量(可能是boolean flag = true
)
点击按钮,点击更改为flag = false
在Listener中调整Spinner 检查flag是否为false
示例强>
//在spinner的侦听器内部
if(flag){
//do task
}else{
//restrict the task or don't do anything or display message
}
更新问题
然后你应该使用disable()方法。 spinner1.disable()或spinner2.disable()等等..