用于横向模式的setOnItemClickListener

时间:2011-11-04 14:37:39

标签: android listview landscape

我的Android应用程序适用于横向模式。我有一个包含一些项目的列表视图。问题是只有在单击项目名称时才会调用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();
            }
        });

3 个答案:

答案 0 :(得分:0)

如果要为列表设置中的项目夸大某些视图设置宽度和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" />

答案 1 :(得分:0)

使用您的textview而不是R.layout.simple_list_item_1创建您的textview并将其放入

MyListView.setAdapter(new ArrayAdapter(this,                 R.layout.mytextview,播放列表));

答案 2 :(得分:0)

问题是我在ListView上有android:layout_width="wrap_content"。这是ListView的核心代码:

 <ListView android:id="@+id/MyListView"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 
相关问题