Alp*_*dim 7 java android spinner onclicklistener
所以,我想分配一个Spinner OnClick,但是我收到以下错误
java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
Run Code Online (Sandbox Code Playgroud)
我点击微调器时需要它来收集数据,然后再使用它.我知道我之前做过,但我丢失了代码.谷歌搜索答案,我没有找到任何有用的东西.如果这有帮助,我正在使用pagerview布局.这是我的代码:
public class DATA extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (container == null) {
return null;
}
ScrollView GPU_LAYOUT = (ScrollView)inflater.inflate(R.layout.gpu, container, false);
final TextView higher_than =(TextView) GPU_LAYOUT.findViewById(R.id.gpu_higher_than_value);
final Spinner min_max =(Spinner) GPU_LAYOUT.findViewById(R.id.min_max_spinner_gpulay);
min_max.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String TMP=min_max.getSelectedItem().toString();
higher_than.setText(TMP);
}
});
return GPU_LAYOUT;
}
Run Code Online (Sandbox Code Playgroud)
有什么办法可以吗?谢谢!
你可以用setOnTouchListener这样做:
spinner.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
Toast.makeText(getBaseContext(), "CLICK", Toast.LENGTH_SHORT).show();
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
我这样做是这样的:
public void addListenerOnSpinnerItemSelection() {
mySpinner = (Spinner) findViewById(R.id.GPU_LAYOUT);
mySpinner.setOnItemSelectedListener(new myOnItemSelectedListener());
}
public class myOnItemSelectedListener implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View arg1, int pos,long arg3) {
int position=Arrays.asList(getResources().getStringArray(R.array.GPU_LAYOUT)).indexOf(fecha); }
@Override
public void onNothingSelected(AdapterView<?> arg0) { }
}
Run Code Online (Sandbox Code Playgroud)
另外我建议获取您正在使用的组的位置,然后进行处理。
| 归档时间: |
|
| 查看次数: |
11417 次 |
| 最近记录: |