android - 横向模式的 setOnItemClickListener

标签 android listview landscape

我的 android 应用程序在横向模式下工作。我有一个包含一些项目的 ListView 。问题是仅当我单击项目名称时才会调用 setOnItemClickListener。我的意思是,如果我选择不是项目名称的行,则不会选择该项目并且不会调用 setOnItemClickListener。我该怎么办?

请帮帮我。提前致谢..

这是我的代码:

MyListView = (ListView) findViewById(R.id.MyListView);
        MyListView.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, playlists));
        MyListView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> arg0, View v, int position,
                    long id) {
                System.out.println("list touch "+ playlists[position]+" si id "+idPlaylist[position]);
                dialogwait = ProgressDialog.show(Playlist.this, "Loading...","Please wait..", true);

                Intent i = new Intent(getBaseContext(), ViewPlaylist.class);
                i.putExtra("id",idPlaylist[position]);
                i.putExtra("timer",timerPlaylist[position]);
                startActivity(i);
                finish();
            }
        });

最佳答案

如果您正在为列表中的项目膨胀某些 View ,将 xml 布局中的宽度和高度设置为 fill_parent 可以解决您的问题,

最好不要使用 android.R.layout.simple_list_item_1 因为你无法更改它...

你可以做到

MyListView = (ListView) findViewById(R.id.MyListView);
        MyListView.setAdapter(new ArrayAdapter<String>(this,
                R.layout.mylistitem, playlists));
        MyListView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> arg0, View v, int position,
                    long id) {
                System.out.println("list touch "+ playlists[position]+" si id "+idPlaylist[position]);
                dialogwait = ProgressDialog.show(Playlist.this, "Loading...","Please wait..", true);

                Intent i = new Intent(getBaseContext(), ViewPlaylist.class);
                i.putExtra("id",idPlaylist[position]);
                i.putExtra("timer",timerPlaylist[position]);
                startActivity(i);
                finish();
            }
        });

那么R.layout.mylistitem就可以了

<TextView android:id="@+id/sometitle"
        android:layout_width="fill_parent"
        android:layout_height="some_height_you_want" />

关于android - 横向模式的 setOnItemClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8010913/

相关文章:

c# - ListView 在更新时不会改变

iphone - 修复横向 iPad 应用程序中的键盘方向(颠倒键盘)

android - 在android中打开另一个带有横向屏幕的应用程序

java - 每次应用程序从后台返回时如何刷新 Webview?

java - Lambda 表达式 - 无法将 lambda 参数设置为方法的参数

Android ListView 项目布局不起作用

java - 重新加载使用 LinearLayout 创建的 ListView

iphone - UITabBarController 的横向方向?

android - TextView 中值的垂直平滑滚动

android - 如何使用 Jetpack Compose 请求权限?