2

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

我一直关注为"lv.setOnItemClickListener(new AdapterView.OnItemClickListener" 获得的错误:

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

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

伪代码

// ...
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();
                            }
                        });

}

}
4

1 回答 1

0

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

我确认这种方式非常有效,并且我解决了我的问题,该问题与微调器/ListView 交互有关,但与我获取数据以提供列表的方式有关。

为了说明结果,我的布局看起来与类似,但在微调器上添加了按钮,它们都驱动列表视图结果。

于 2012-09-09T17:21:48.090 回答