当前位置: 首页 > 知识库问答 >
问题:

setOnItemClickListener不激发任何事件

胡承载
2023-03-14
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dp">

    <LinearLayout
        android:id="@+id/image_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="3dp">

        <ImageView
            android:id="@+id/lista_personaggi_icon"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_alignParentLeft="true"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

    <TextView
        android:id="@+id/lista_personaggi_nome"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/image_container"
        android:layout_toRightOf="@+id/image_container"
        android:layout_marginLeft="10dp"
        android:textStyle="bold"
        android:textSize="22dp"
        android:text="Name"
        />

    <TextView
        android:id="@+id/lista_personaggi_ruolo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@+id/image_container"
        android:layout_below="@+id/lista_personaggi_nome"
        android:textSize="18sp"
        android:text="Role"
        />
</RelativeLayout>
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {

            Integer pageToShow = getArguments().getInt(ARG_SECTION_NUMBER);

            View rootView = inflater.inflate(R.layout.fragment_choose_character, container, false);
            ListView listView = (ListView) rootView.findViewById(R.id.listViewPersonaggi);

            personaggiDB = new DatabasePersonaggiHandler(getContext());
            ArrayList<Personaggio> personaggi = personaggiDB.getAllPersonaggi(pageToShow);

            // Adatto il personaggio alla grafica della lista
            this.m_adapter = new PersonaggioAdapter(getContext(), R.layout.riga_personaggio, personaggi);
            listView.setAdapter(this.m_adapter);

            // Su ogni elemento della lista aggiungo il click
            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

                    Toast.makeText(getContext(), "show this", Toast.LENGTH_LONG);
                    Log.d("MYAPP -->", "I am here");
                    // Recupero l'intero oggetto cliccato
                    //Personaggio personaggioScelto = m_adapter.getItem(position);

                    //Intent singoloPersonaggioIntent = new Intent(getContext(), SingoloPersonaggioActivity.class);
                    //singoloPersonaggioIntent.putExtra("PersonaggioObj", personaggioScelto);
                    //startActivity(singoloPersonaggioIntent);
                }
            });

            return rootView;
        }

共有1个答案

经和洽
2023-03-14

你得加上

android:focusable="false"

由于一个旧的Android问题,singolo_personaggio.xml的可单击元素。

希望这能澄清问题。

 类似资料:
  • 我在一个KeyListener中为一个非常简单的游戏编程控件。伊芙得到了下面的问题。 我做了类似的事情(只是一个简单的示例,而不是我实现的代码): 如果我同时按下两个键(左,上),你就可以移动charachter对角线。问题是监听器与最后一个按下的KeyEvent一起工作,所以如果我先按左再向上,但没有释放左再向上,对象就不会移动(仍然按左)。 我怎么处理?是否可以在我的keylistener的k

  • 问题内容: 我正在使用Selenium WebDriver语法。我知道,在基于Selenium服务器的语法中,您可以执行以下操作来触发javascript事件: 如何在使用WebDriver(例如FirefoxDriver)创建的应用程序中执行相同操作? 问题答案: 不幸的是,Selenium WebDriver设计人员明确决定不在 Selenium 2中包含此功能。 明智的决定是不将此功能包含在

  • 问题内容: 我正在使用Selenium WebDriver语法。我知道,在基于Selenium服务器的语法中,您可以执行以下操作来触发javascript事件: 如何在使用WebDriver(例如FirefoxDriver)创建的应用程序中执行相同操作? 问题答案: 不幸的是,Selenium WebDriver设计人员明确决定不在 Selenium 2中包含此功能。 明智的决定是不将此功能包含在

  • 我有一个应用程序,我正在做html5拖放分类,所以用户可以选择分类并移动到他想要的地方。 一切都很好,但有时类别列表很大,如果用户需要将其向下移动,他们希望使用鼠标滚轮滚动,但问题是拖动启动后不会触发此事件。 注:是的,如果光标移到底部,浏览器将滚动,但在我的应用程序中,用户体验很重要,因为有时他们会对50个类别进行排序,这需要很多时间 下面是示例代码,若您开始拖动div并在鼠标上滚动滚轮,那个么

  • 问题内容: 这是我的代码。我正在尝试使用箭头键使球移动。当我运行上述程序时 ,不显示球 ( 如果我将坐标更改为显示0,30球), 并且事件未触发,球既不移动也不跳跃 ? 问题答案:

  • 问题内容: 我有一个非常简单的表格。当用户在输入字段中键入内容时,我想更新他们在页面上其他位置键入的内容。这一切都很好。我已经绑定的更新的,和事件。 唯一的问题是,如果您从浏览器的自动完成框中选择一个输入,则该输入不会更新。从自动完成功能中进行选择时,是否会触发任何事件(显然既不是也不是)。请注意,如果您从“自动完成”框中选择并 模糊 了输入字段,则将触发更新。我希望自动完成会立即触发它。 HTM