单击android ListActivity中的项目不工作
我有一个带有自定义ArrayAdapter的ListActivity,列表项的布局如下:单击android ListActivity中的项目不工作,android,imageview,listactivity,listadapter,Android,Imageview,Listactivity,Listadapter,我有一个带有自定义ArrayAdapter的ListActivity,列表项的布局如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orien
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:paddingTop="5dip"
android:paddingBottom="5dip" >
<ImageView
android:id="@+id/image"
android:layout_width="48dip"
android:layout_height="48dip" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="24.5sp" />
<TextView
android:id="@+id/text2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="12sp"/>
</LinearLayout>
我的问题是,我无法单击任何列表项。到目前为止我试过的是
将focusable
,clickable
设置为false
(我发现这可能会有帮助)到我的ImageView
但不幸的是,问题依然存在。请帮帮我,这整天都在烦我。多谢各位
编辑:好的,William的回答帮助我解决了这个问题,现在唯一的问题是,当我将背景颜色更改为黑色时(通过在此列表活动的清单中设置新主题),单击项目不会突出显示它。
这是我对活动主题的自定义样式
@颜色/黑色
来自res/values/styles/
文件夹
为了清楚起见,ListActivity的默认背景颜色再次为白色。我想要黑色的。当我应用上面的样式时,单击时列表活动项高亮显示被禁用。如何将其再次启用为默认高亮显示颜色?在您的
oncreate中尝试此操作
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
});
在您的oncreate
中,尝试以下操作
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
});
我有这个工作代码,我认为在Java代码中就是问题所在
public class NewsListActivity extends Activity implements OnItemClickListener
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
如果(v==null){
返回;
}
我有这个工作代码,我认为在您的Java代码中就是问题所在
public class NewsListActivity extends Activity implements OnItemClickListener
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
如果(v==null){
返回;
}
试试这个
ListView lv=(ListView)findViewById(yourlistview);
Lv.setonItemClickListener(this);
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
paret.getItemAtPositon(position);
//this returns you an object cast it into the same object you passed to your adapter cast to string if values passed were string
}
ListView lv=(ListView)findViewById(yourlistview);
Lv.setonItemClickListener(本);
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
paret.GetItemAtPosition(位置);
//这将返回一个对象,如果传递的值是string,则将该对象强制转换为传递给适配器的同一对象强制转换为string
}
试试这个
ListView lv=(ListView)findViewById(yourlistview);
Lv.setonItemClickListener(this);
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
paret.getItemAtPositon(position);
//this returns you an object cast it into the same object you passed to your adapter cast to string if values passed were string
}
ListView lv=(ListView)findViewById(yourlistview);
Lv.setonItemClickListener(本);
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
paret.GetItemAtPosition(位置);
//这将返回一个对象,如果传递的值是string,则将该对象强制转换为传递给适配器的同一对象强制转换为string
}
谢谢。我添加了onListItemClick和小的“OK”Toast消息,并且单击功能正常(我收到了“OK”Toast消息)。但是,列表项在单击时不会改变颜色并闪烁(这是应该的)。可能有什么问题?@1Atera1因为您的问题是关于单击列表项,如果您想了解颜色,请添加更多代码,并告诉我您想要什么颜色,以及您想要哪种颜色。我添加了onListItemClick,并显示了小的“OK”Toast消息,单击功能正常(我收到了“OK”Toast消息).但是,列表项在单击时不会改变颜色和闪烁(它们应该如此)。可能有什么问题?@1atera1us您的问题是关于单击列表项,如果您想了解颜色,请添加更多代码,并告诉我您想要什么颜色以及我正在扩展哪个UIListActivity,其中我只使用ListItemClick。@1atera1us您愿意尝试此工作解决方案吗?我让我的旧解决方案工作。但是,谢谢您,我会支持您的请重新保存您提供的这段代码。我正在扩展ListActivity,在这里我只使用ListItemClick。@1atera1us您愿意尝试这个工作解决方案吗?我使我的旧解决方案工作。但是谢谢您,我一定会保存您提供的这段代码。