我正在开发示例应用程序来测试OnFocusChangeListener,我将调试点放在它的方法public void onFocusChange(View v, boolean hasFocus)上,我观察到该方法只被调用一次,即在启动应用程序之后,到目前为止一切正常,但当我向下滚动到下一个列表项时,该项已被聚焦,但方法未被调用。我知道我错过了一些小东西。你能帮我解决这个问题吗?提前谢谢。
注意滚动是用遥控器的数字键盘来完成的
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();
    }
}

最佳答案

当您使用跟踪球或遥控器使其突出显示(不触摸)时,将调用焦点。例如,在android电视中,您可以使用左键、上键、下键、右键导航。)
您需要选择一个OnTime进行选择。单击的OnEmClickListener。

10-07 19:24
查看更多