gpt4 book ai didi

android - onFocusChangeListener 方法只调用一次

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:37 25 4
gpt4 key购买 nike

我正在开发示例应用程序来测试 OnFocusChangeListener,我将调试点放在它的方法上 public void onFocusChange(View v, boolean hasFocus) 我观察到该方法仅调用一次,即在启动应用程序后,到此为止一切正常,但是当我向下滚动到下一个列表项时,该项目已聚焦但未调用方法。我知道我错过了一些小东西。你能帮我解决这个问题吗?提前致谢。

注意 滚动是通过使用 Remote 的方向键完成的

Java类:

package com.example.listview;

import android.app.Activity;
import android.graphics.Rect;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class ListActivity extends Activity implements OnFocusChangeListener{
String[] items={"iOS","android","Symbian",};
//GridView lst;
ListView lst;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);

lst=(ListView)findViewById(R.id.listView1);

lst.setFocusableInTouchMode(false);

ArrayAdapter<String> adapter=new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1,items);
lst.setAdapter(adapter);


}



public void onFocusChange(View v, boolean hasFocus) {

Toast.makeText(getBaseContext(), "FOCUSED", Toast.LENGTH_LONG).show();
}
}

最佳答案

当您使用跟踪球或 Remote 使其突出显示时调用焦点(无需触摸。示例可能是在您使用向左、向上、向下、向右按钮导航的安卓电视中。)

您需要一个 onItemSelected 来进行选择。 onItemClickListener 用于点击。

关于android - onFocusChangeListener 方法只调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24332229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com