如何解决微调菜单-Android
我想在我的android应用中添加多个微调栏菜单。我是一个初学者,我只创建了一个微调栏。当我创建下一个时,效果不佳。试图在此处添加下一个微调器,但是当我这样做时,它将显示第一个微调器中第二个表的值。它应该是第一个微调器-1st表等。在此先感谢您的帮助。
public class SecondPan extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
private Spinner sspnOption6,sspn2;
private TextView ttxOption6,ttx;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_pan);
Spinner spinner = findViewById(R.id.sspn);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.tab1,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent,View view,int position,long l) {
String text = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(),text,Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
}
解决方法
您已经声明了两个void sort(int *a,int N) {
int *aux = new int[N];
sort(a,aux,N - 1);
}
sspnOption6 和 sspn2 ,但是您从未使用过它们。另外,您仅获得ID为 sspn 的一个微调框的参考。
因此,现在引用另一个id也会为它们创建不同的Spinners
,这样您就不会获得所选位置的第二个微调器中第一个微调器的值。
进行这些更改。
您已经在onCreate()之前声明了两个微调器:
ArrayAdapters
获取这些视图的引用,您之前只有一个。
private Spinner sspnOption6Spinner;
private Spinner sspn2Spinner;
设置// Check your id's from layout.
sspnOption6Spinner = findViewById(R.id.sspn_options6);
sspn2Spinner = findViewById(R.id.sspn);
ArrayAdapters
ArrayAdapter<CharSequence> firstSpinnerAdapter = ArrayAdapter.createFromResource(this,R.array.tab1,android.R.layout.simple_spinner_item);
firstSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sspnOption6Spinner.setAdapter(adapter);
现在设置了侦听器,两者都应该有自己的:
ArrayAdapter<CharSequence> secondSpinnerAdapter = ArrayAdapter.createFromResource(this,R.array.tab2,android.R.layout.simple_spinner_item);
secondSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sspn2Spinner.setAdapter(adapter);
sspnOption6Spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,View view,int position,long id) {
String text = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(),text,Toast.LENGTH_SHORT).show();
}
});
如果需要,您可以设置 sspn2Spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,Toast.LENGTH_SHORT).show();
}
});
也请阅读documentation,其中包含所有详细信息。
,我已经创建了这样的东西,但是仍然出现错误,您可以看看空闲时间吗?谢谢。
在此处输入代码
public class SecondPan extends AppCompatActivity {
private Spinner spinner;
private Spinner spinner2;
private TextView ttxOption6,ttx;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_pan);
spinner = findViewById(R.id.sspn);
ArrayAdapter<CharSequence> firstSpinnerAdapter = ArrayAdapter.createFromResource(this,android.R.layout.simple_spinner_item);
firstSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(firstSpinnerAdapter);
spinner2 = findViewById(R.id.sspn2);
ArrayAdapter<CharSequence> secondSpinnerAdapter = ArrayAdapter.createFromResource(this,R.array.transfer,android.R.layout.simple_spinner_item);
secondSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(secondSpinnerAdapter);
}
spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,long id) {
String text = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(),Toast.LENGTH_SHORT).show();
}
});
spinner2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,Toast.LENGTH_SHORT).show();
}
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。