我的Spinner需要一个OnClickListener。
我尝试了我在互联网上找到的所有东西,但都没有奏效。 请给我一个解决方案:
我的旋转器在这里:
spinner = (Spinner)findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource
(this, R.array.gyerekek_array, R.layout.my_spinner);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new ItemChooser());
这是my_spinner.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:textColor="#000000"
android:paddingLeft="50dp"
android:text="Sample Text"
android:textStyle="bold"
android:textSize="31sp"
>
</TextView>
我尝试了stackoverflow和互联网上的所有其他内容。我只是无法做到...... 我无法将onClickListener添加到微调器的默认TextView,因为我没有使用默认的微调器,我有自己的my_spinner.xml。 事实上,如果我添加一个&#34; ID&#34;在my_spinner.xml里面的文本视图中,我得到了一个空指针异常。
我甚至尝试在Spinner的顶部添加一个不可见的TextView,但是OnClick只能识别一个视图。
请帮帮我们。
答案 0 :(得分:8)
使用此
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View view, int position, long id) {
int item = spinner.getSelectedItemPosition();
}
public void onNothingSelected(AdapterView<?> arg0) { }
});
答案 1 :(得分:5)
你不能在任何适配器视图上添加onclicklistener尝试使用setOntouchlistener希望它能帮到你
spinner = (Spinner)findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource
(this, R.array.gyerekek_array, R.layout.my_spinner);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setOnTouchlistener(this);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new ItemChooser());
////////////////////////////你的听众
public boolean onTouch(View v, MotionEvent event) {
Log.d("Spinner","clicked");
return false;
}