文件说: 如果布局的内容是dynamic的或者不是预定义的,那么可以使用一个布局,该布局将AdapterView的子类用于在运行时用视图填充布局。 AdapterView类的子类使用适配器将数据绑定到其布局。 但是大部分的教程都是关于ListView , GridView , Spinner和Gallery 。 我正在寻找直接从AdapterView扩展一个子类。 我必须创build一个自定义视图,它的内容依赖于适配器。 我怎么能这样做,什么方法必须被覆盖?
这两位听众有什么区别,文件说: OnItemSelectedListener – select此视图中的项目时要调用的callback的接口定义。 OnItemClickListener – 在单击此AdapterView中的项目时调用callback的接口定义。 触摸屏上的select,点击不是相等的吗?
我真的无法使用setEmptyView方法。 我试图在GridView和ListView中实现它,但他们都没有工作。 这里是一个示例代码块: networkGames = (GridView) baseLayer.findViewById(R.id.all_game_grid_network); networkGames.setBackgroundResource(R.drawable.game_border); networkGames.setSelector(R.drawable.game_active_border); networkGames.setOnItemClickListener(new NetworkGameListener()); networkGames.setEmptyView(View.inflate(baseLayer, R.drawable.no_network_games, null)); networkGames.setAdapter(new NetworkAdapter()); networking适配器不包含项目: private class NetworkAdapter extends BaseAdapter { /* (non-Javadoc) * @see android.widget.Adapter#getCount() */ @Override public int getCount() { return 0; } /* (non-Javadoc) * @see android.widget.Adapter#getItem(int) */ @Override public Object getItem(int position) { return null; } /* (non-Javadoc) * […]
是否有可能知道Spinner是打开还是closures? 如果有一些onSpinner的onLpenListener会更好。 我试过使用这样的OnItemSelectedListener: spinnerType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { executeSomething(); } @Override public void onNothingSelected(AdapterView<?> parent) { Log.d("nothing" , "selected"); } }); 我可以知道,如果select了某些东西(在executeSomething()),窗口将会closures。 但是,如果我单击对话框外部,也会收到通知,这也会closures微调框
我想了解ListView概念,它是如何工作的,我试图创build我自己的适配器扩展BaseAdapter 。 对于ArrayAdapter实例,有一个notifyDataSetChanged()方法,应该在更新包含所有数据的数组列表之后调用,以刷新ListView 。 但是我创build了我自己的BaseAdapter的子类。 那种方法不适用于我,还是它? 我如何实现这个方法? 基本上,这个方法做了什么,也许我会理解。 在ArrayAdapter情况下,我猜测它看着什么位置的ListView当前正在显示,并检查它是否与ArrayList更新后是否是相同的? 要么… 它说这个方法: 通知附加的观察者,底层数据已经被更改,任何反映数据集的视图都应该刷新自己。 但是它究竟如何刷新自己呢? 有人可以解释一下吗?