Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击android ListActivity中的项目不工作_Android_Imageview_Listactivity_Listadapter - Fatal编程技术网

单击android 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

我有一个带有自定义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: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您愿意尝试这个工作解决方案吗?我使我的旧解决方案工作。但是谢谢您,我一定会保存您提供的这段代码。