Articles of onitemclicklistener

当按钮在列表中时,ListView长按不起作用

我有一个带有自定义列表适配器的ListView。 它有OnItemClickListener和OnItemLongClickListner,以前工作正常。 在那之后,我不得不在列表项的布局中放置一个按钮,并且单击项目并且长按监听器停止工作。 这是我的示例代码: ListView lv=(ListView)findViewbyId(R.id.listview); lv.setAdapter(listviewadapter); lv.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView parent, View view,int position, long id) { // My code } }); 在列表项的布局中添加按钮之前,这常常工作正常: 我尝试将内联侦听器更改为在活动上实现onItemLongClickListener但直到现在都没有成功。 谢谢。

从多个类调用setOnClickListener只会导致一个回调吗?

我希望能够动态地为ListView更改OnItemClickListener 。 但是, API不清楚这是否可以接受,也不清楚如果我这样做会产生什么结果。 我想要的是,如果我从一个类调用listView.setOnItemClickListener() ,然后再从另一个类调用,那么只有更新的类才能获得回调。 顺便SetOnClickListener()这个问题也适用于SetOnClickListener() 。 可以实现API以这种方式运行,但是可以实现它,使得调用setOnItemClickListener所有类setOnItemClickListener获得回调。 Android API实际实现了哪些行为?

在GridView中设置项目长按侦听器

我想添加一个项目长按一下监听器,它会将选择的图像设置为壁纸。 我从网上获取图像并在网格视图中显示它们。 我的网格活动如下所示。 我已经有一个点击监听器来显示全屏图像。 public class ImageGridActivity extends BaseActivity { String[] imageUrls; DisplayImageOptions options; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.ac_image_grid); Bundle bundle = getIntent().getExtras(); imageUrls = bundle.getStringArray(Extra.IMAGES); options = new DisplayImageOptions.Builder() .showStubImage(R.drawable.stub_image) .showImageForEmptyUri(R.drawable.image_for_empty_url) .cacheInMemory().cacheOnDisc() .bitmapConfig(Bitmap.Config.RGB_565).build(); GridView gridView = (GridView) findViewById(R.id.gridview); gridView.setAdapter(new ImageAdapter()); // Set Long-Clickable gridView.setLongClickable(true); gridView.setOnItemLongClickListener(new OnItemLongClickListener() { @SuppressLint(“NewApi”) […]

带有自定义适配器和列表视图的onItemClickListener

我正在尝试使用自定义适配器和listview设置来设置onItemClickListener。 似乎无法让听众工作。 我认为我没有正确设置它。 任何帮助表示赞赏。 非常感谢。 适配器: public class ModuleAdapter extends ArrayAdapter { Context context; int layoutResourceId; Module data[]; public ModuleAdapter(Context context, int layoutResourceId, Module data[]) { super(context, layoutResourceId, data); this.layoutResourceId = layoutResourceId; this.context = context; this.data = data; } @Override public View getView(int position, View convertView, ViewGroup parent) { View row = convertView; ModuleHolder holder […]

未调用ListView onItemClickListener

我试图制作自定义ListView 。 ListView包含一个包含TextView和Switch的RelativeLayout 。 按下开关时,开关必须从true更改为false(反之亦然)。 这是我的getView方法: public View getView(int position, View convertView, ViewGroup parent) { View vi = convertView; if (convertView == null) vi = inflater.inflate(R.layout.item_gproblem, null); //vi.setClickable(true); Tried this //vi.setFocusable(true); TextView txt_comment_description = (TextView) vi .findViewById(R.id.txt_comment_description); txt_comment_description.setText(MyTasks.allGComments.get(position) .getProblemDescription()); //txt_comment_description.setFocusable(false); Tried this //txt_comment_description.setClickable(false); Switch switch_comment = (Switch) vi.findViewById(R.id.switch_comment); //switch_comment.setFocusable(false); Tried this //switch_comment.setClickable(false); //First time running […]

单击listViewItem时,使用radiobuttons显示alertDialog

我有一个listView有2个项目,2个项目是“秒”和“分钟”当我按“秒”我想要一个alertDialogBox打开en show 5,10,15,…秒。 我按分钟时也一样 像这样的东西: 但是我在实现它时遇到了麻烦,因为我不太清楚它是如何工作的。 这是我的代码: import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class SettingsActivity extends Activity { ListView listView = (ListView) findViewById(R.id.settingsList); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.settings); String[] values = new String[] { “Seconds”, “Minutes” }; […]

如何在列表视图中单击项目?

我一直在努力寻找解决方案,但收效甚微。 我必须显示一个包含项目列表的popup窗口 。 我能够显示窗口,但单击列表视图中的项目时未调用onitemclicklistener 。 任何有关此问题的帮助将不胜感激。 谢谢 EDIT1: public class PopUpWindowActivity extends Activity { /** Called when the activity is first created. */ String[] countries = new String[] { “India”, “USA”, “Canada” }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout ll = new LinearLayout(this); ListView lv = new ListView(this); lv.setAdapter(new ArrayAdapter (this, android.R.layout.simple_list_item_1, countries)); lv.setOnItemClickListener(new […]

ListView项目在Android中无法点击

在这个ListView是不可点击的,我想对项目点击执行一个动作,但我不知道为什么这不是可点击的,我也检查了调试控制器没有在itemclicklistener中消失。 设计文件: 这是我的java类,我正在访问列表但不可点击 public class ShowCases extends Activity{ ListView listshowcase; EditText search; ListViewAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.screen4); listshowcase = (ListView) findViewById(R.id.liCases); adapter = new ListViewAdapter(this); listshowcase.setAdapter(adapter); listshowcase.setClickable(true); listshowcase.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View view, int arg2, long arg3) { // TODO Auto-generated […]

使用drag-sort-listview(DSLV)时不会触发setOnItemLongClickListener和setOnItemClickListener

我正在使用Carl Bauer(https://github.com/bauerca/drag-sort-listview)的优秀drag-sort-listview来实现一个支持拖动排序的列表视图。 但是,我的要求是不需要列表上的拖动句柄,而是允许用户使用项目本身拖动列表项。 通过将@ id / drag属性设置为列表项本身,我已经完成了该部分的工作。 但是,它具有不响应itemClick和itemLongClick事件的副作用。 有没有办法让项目点击/长按点工作而没有单独的可拖动布局? 作为参考,我的代码如下所示 – ListView.xml: ItemView.xml: Activity.java: DragSortListView listView = (DragSortListView) view.findViewById(R.id.list); listView.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView arg0, View arg1, int arg2, long arg3) { Toast.makeText(arg0.getContext(), ((TextView)arg1).getText(), Toast.LENGTH_SHORT).show(); return false; } }); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView listView, View itemView, int index, long id) […]

在listview Android的setOnItemClickListener上设置项目单击事件

我使用自定义适配器在listview的行中有三个textview,并且在单击该行时,我想执行所选文本视图的click事件。 下面是我点击事件的示例代码。 在第一次单击时,将设置侦听器,并且仅在第二次单击时发生实际的单击事件,我想在第一次单击时find它。 可能吗? listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView adapter, View view, int pos, long id) { final Order orderBooking = (Order)adapter.getItemAtPosition(pos); // SKU listener final TextView tvSkuId = (TextView) view.findViewById(orderBooking.getSelectedSkuId()); tvSkuId.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { onSkuClickListener(view, orderBooking); } }); // SO listener final TextView tvSoId = (TextView) view.findViewById(orderBooking.getSelectedSoId()); […]