gpt4 book ai didi

java - 当其他微调器更改时保持微调器选择

转载 作者:行者123 更新时间:2023-12-01 09:54:00 26 4
gpt4 key购买 nike

我正在为我的一个 friend 创建一个应用程序(同时学习 Java/Android 应用程序),他的客户将能够使用一系列旋转器来选择特定产品的价格。

我现在对旋转器有点困惑,我终于明白了它们是如何结合在一起的,并且我已经成功创建了一些代码,这些代码将根据前一个旋转器的选择来设置旋转器的选项。

这将一直有效,直到在不同的微调器上进行选择为止。例如。在微调器 1 上选择“单速”,在微调器 2 上选择“4”,在微调器 3 上选择“钩子(Hook)”,微调器 2 重置。

选择另一个微调器后,如何阻止动态微调器重置?

最终我会将所有旋转器构建为动态的,因为不同的选择将决定哪些选项应该可用。

提前致谢。 (感谢它写得不够出色,希望随着时间的推移会有所改进)。

    public class priceList extends Activity implements AdapterView.OnItemSelectedListener{

Spinner capacity;
Spinner speed;
Spinner hoistSpeed;
Spinner type;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_price_list);


//Spinner for Capacity
capacity = (Spinner) findViewById(R.id.capacityTextView);
ArrayAdapter adapterCapa=ArrayAdapter.createFromResource(this,R.array.arrayCapacity, android.R.layout.simple_spinner_item);
capacity.setAdapter(adapterCapa);
capacity.setOnItemSelectedListener(this);

//Spinner for the Speed
speed = (Spinner) findViewById(R.id.speedTextView);
ArrayAdapter adapterSpd = ArrayAdapter.createFromResource(this,R.array.arraySpeed, android.R.layout.simple_spinner_item);
speed.setAdapter(adapterSpd);
speed.setOnItemSelectedListener(this);


//Spinner for the type
type = (Spinner) findViewById(R.id.typeTextView);
ArrayAdapter adapterBeam=ArrayAdapter.createFromResource(this,R.array.arrayType, android.R.layout.simple_spinner_item);
type.setAdapter(adapterBeam);
type.setOnItemSelectedListener(this);

}

@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) {

//TextView myText = (TextView) view;
//Toast.makeText(this, myText.getText(), Toast.LENGTH_SHORT).show();


hoistSpeed = (Spinner) findViewById(R.id.hoistSpeedTextView);
ArrayAdapter adapterTypeA=ArrayAdapter.createFromResource(this,R.array.arrayHoistSpeedSingle, android.R.layout.simple_spinner_item);
hoistSpeed = (Spinner) findViewById(R.id.hoistSpeedTextView);
ArrayAdapter adapterTypeB=ArrayAdapter.createFromResource(this,R.array.arrayHoistSpeedDouble, android.R.layout.simple_spinner_item);

if(speed.getSelectedItem().toString().equals("Single Speed"))
{

hoistSpeed.setAdapter(adapterTypeA);

}

else if(speed.getSelectedItem().toString().equals("Dual Speed"))
{

hoistSpeed.setAdapter(adapterTypeB);

}

}
@Override
public void onNothingSelected(AdapterView<?> parent) {

}

}

最佳答案

你的问题很困惑,也许你可以改一下

但是您可以根据当前微调器中选择的内容来控制或设置下一个微调器,并适本地进行检查。

您可以直接编写setOnItemSelectedListener,以将逻辑彼此分开。

String[] speedArr = getResources().getStringArray(R.array.arraySpeed);

speed.setAdapter(adapter);
speed.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
//Do your checks here, and set the next spinner, or reset the previous one.

//This automatically gets your selected value, so no need doing an if else check here again
String selectedValue = speedArr[position];
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}
});

关于java - 当其他微调器更改时保持微调器选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37385760/

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