Button + Spinner onItemSelectedListener不起作用

时间:2011-12-05 16:25:02

标签: android android-layout android-ui android-button android-spinner

我在使用按钮和编程式微调器时遇到问题,因为onItemSelectedListener无法正常工作。我一直在谷歌搜索和搜索这个论坛,甚至有一些与我有关的问题,我无法解决它,因为我没有在我的布局中声明Spinner。

这是我的布局:

...<LinearLayout
    android:layout_width="wrap_content" 
    android:layout_height="50dp"
    android:orientation="horizontal"
    android:background="#010D00"
    android:paddingTop="5dp"
    android:layout_gravity="center_vertical|center_horizontal">

    <Button 
        android:id="@+id/magic_filter"
        android:layout_height="fill_parent" 
        android:layout_width="80dp"
        android:text="Mágico"/>
    <Button 
        android:id="@+id/mision_time_filter"
        android:layout_height="fill_parent" 
        android:layout_width="80dp"
        android:text="Tiempo"/>

</LinearLayout>...

然后我这样做:

setContentView(R.layout.gig_noloc_list_fragment); 

initializeLayout(); // ...(Button) findViewById(R.id.reputation_filter); x4
initializeSpinners();//...magicSpin = new Spinner(this); x4
initializeAdapters();....

magicFil.setOnClickListener(magicListener);

private void initializeAdapters() {
    magicAdap = new ArrayAdapter<String>(this, R.layout.gig_noloc_filter_spinner_view, getResources().getStringArray(R.array.magicItems));
    magicSpin.setAdapter(magicAdap);
    magicSpin.setOnItemSelectedListener(magicSListener);
 }

private OnClickListener magicListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        magicSpin.performClick();
    }
};

private OnItemSelectedListener magicSListener = new OnItemSelectedListener() {

    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
        Log.v("HELLO", "BYE");
        magicFil.setText("HOLA");
    }

    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        magicFil.setText("no tira");
    }

};

我在屏幕或日志中没有收到任何这些消息或文本。

任何人都可以告诉我发生了什么事?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您是否为元素(旋转器等)指定了布局高度+宽度?如果没有,您可能无法点击任何内容。