tac*_*cos 10 android android-widget android-spinner
我想在用户选择微调器值时捕获onClick事件.
我已经尝试实现OnClickListener并使用以下代码:
@Override
public void onClick(final View view) {
if (view == countrySpinner) {
Toast.makeText(this, "Override OK!", 3);
}
}
Run Code Online (Sandbox Code Playgroud)
和绑定:
countrySpinner.setOnClickListener(this);
Run Code Online (Sandbox Code Playgroud)
这编译,但我得到RuntimeException建议我使用OnItemClickListener而不是OnClickListener一个AdapterView.
如何捕获onClick事件?
Val*_*tel 19
不要设置微调器的OnClickListener,而是尝试设置OnTouchListener和OnKeyListener.
spinner.setOnTouchListener(spinnerOnTouch);
spinner.setOnKeyListener(spinnerOnKey);
Run Code Online (Sandbox Code Playgroud)
和听众:
private View.OnTouchListener spinnerOnTouch = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
//Your code
}
return false;
}
};
private static View.OnKeyListener spinnerOnKey = new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
//your code
return true;
} else {
return false;
}
}
};
Run Code Online (Sandbox Code Playgroud)
Eri*_*ski 15
不要像按钮那样对待微调器,按钮有onClick事件.旋转器具有onItemSelected事件.
您应该捕获Spinner的onItemSelected事件,如下所示:
import android.widget.AdapterView;
Spinner productname_spinner =(Spinner) findViewById(R.id.your_spinner);
productname_spinner.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
Object item = parent.getItemAtPosition(pos);
System.out.println(item.toString()); //prints the text in spinner item.
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31624 次 |
| 最近记录: |