我在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();
}
});
}
}
答案 0 :(得分:0)
所以我在同一个活动中有一个微调器和一个列表视图。基于微调器选择,我更新列表视图。我还从其他事件(例如按钮事件)更新相同的列表视图。代码原则如问题中所述。
我确认这种方式完美无缺,我解决了我的问题,即与spinner / ListView交互有关,但是我采用的方式是提取数据来提供列表。
为了说明结果,我的布局看起来与this类似,但是除了微调器之外的按钮,它们都驱动了listview结果。