Spinner中的ListView:用于事件检测的适配器冲突

时间:2012-09-03 16:27:19

标签: android events listview spinner

我在onCreate方法中嵌入listview spinner。我想在点击事件的列表项上触发toast msg,但无法在ListView项目上设置onClick侦听器。我没有使用任何自定义适配器。我想同样类型的简单适配器用于微调器和列表视图,因此它会产生一些编译挫折。

我一直关注"lv.setOnItemClickListener(new AdapterView.OnItemClickListener" :

  

新的AdapterView.OnItemClickListener(){}类型必须实现   继承抽象方法   AdapterView.OnItemClickListener.onItemClick(AdapterView,View,int,   长)

如何设法使用简单的适配器在listview项目上设置click事件? 我应该以某种方式"重命名"列表视图适配器或如何继续...?

伪代码

// ...
import android.widget.AdapterView;
/* manually added */
import android.widget.AdapterView.OnItemClickListener;

public class MyActivity extends Activity {

onCreate(Bundle savedInstanceState){

// ... some code
        // Set Spinner listener
        mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> spinner, View v, int position, long id) {

// ... some code


                    lv.setOnItemClickListener(new AdapterView.OnItemClickListener()) {
                        public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                                // When clicked, show a toast with the TextView text
                                Toast.makeText(getApplicationContext(), "some msg" , Toast.LENGTH_SHORT).show();
                            }
                        });

}

}

1 个答案:

答案 0 :(得分:0)

所以我在同一个活动中有一个微调器和一个列表视图。基于微调器选择,我更新列表视图。我还从其他事件(例如按钮事件)更新相同的列表视图。代码原则如问题中所述。

我确认这种方式完美无缺,我解决了我的问题,即与spinner / ListView交互有关,但是我采用的方式是提取数据来提供列表。

为了说明结果,我的布局看起来与this类似,但是除了微调器之外的按钮,它们都驱动了listview结果。