我有两个微调器,城市和社区,当我选择一个城市时,它填充了社区列表。但我想当我点击邻居微调器和城市是空的,以显示一条消息或Alertdialog。 我试图在第二个旋转器上使用ontouchevent,但它不起作用。 我使用自定义微调器com.toptoche.searchablespinnerlibrary.SearchableSpinner感谢您的帮助
neighborhoodSpinner.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
Toast.makeText(getApplicationContext(),"city emty",Toast.LENGTH_LONG).show();
}
return false;
}
});
答案 0 :(得分:0)
为什么不使用onClickListener呢?
s.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
答案 1 :(得分:0)
cityspinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String selectedItemcity = parent.getItemAtPosition(position).toString();
} // to close the onItemSelected
public void onNothingSelected(AdapterView<?> parent)
{
}
});
neighborhoodSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String selectedItemneighbour = parent.getItemAtPosition(position).toString();
if(selectedItemcity.equals("your item name")) //Also you can check previous spinners position here if 0 then show popup or dilaog
{
// do your stuff
}
} // to close the onItemSelected
public void onNothingSelected(AdapterView<?> parent)
{
}
});
答案 2 :(得分:0)
使用setOnItemSelectedListener
获取微调器项选择侦听器。
mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
// Write your code here
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
答案 3 :(得分:0)
这取决于您的微调器是否具有默认值而无意义。 例如,如果您的微调器的城市值为&#34;请选择一个城市&#34;或类似的东西,但情况并非如此。
您的微调器在填充时可能已经选择了城市。
如果&#34;请选择一个城市&#34;是一个选项,这段代码可能会有所帮助:
Spinner city= findViewById(R.id.spinner_city);
Spinner neighborhood = findViewById(R.id.spinner_neighborhood);
neighborhood.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(city.getSelectedItem().toString().equals("Please select a city")){
Toast.makeText(MyActivity.this, "Please select a city first", Toast.LENGTH_SHORT).show();
}else{
// do nothing
}
}
});