我有ViewPager一些片段.每个片段都有一个ListViewa SlidingDrawer(在滑动前不可见)和一个ArrayAdapter.
适配器已启用onCreateView(),这会减慢滑动速度,因为每次刷卡时都必须加载30个列表项,因为正在创建新的片段.
我的问题是,是否可以在ViewPager闲置时滑动后设置适配器?或者,还有更好的方法?在展开SlidingDrawer时,需要已经加载List.
我有一个显示特殊日子的应用程序.我想将它们整合到日历中.
事件是静态的,它们不会改变,因此我不必经常更新日历.
我首先想到创建一个本地日历并添加事件,但新的Android版本(从2.3?)似乎不支持这个; 实现我必须创建一个日历提供程序.
我在github上看到了这个项目:https://github.com/dschuermann/birthday-adapter.这很复杂; 它的主要用途是将联系人的生日添加到新日历中.
有很多代码,其中很多我认为我不需要.我真的需要注册到Android的客户经理来集成日历提供商吗?我只需要一个新的日历与我的活动......
使用用户的默认日历并在那里添加所有事件会更容易吗?我可以在描述中添加一些标识符,以便在用户不需要时删除事件.
任何提示,教程或进一步阅读表示赞赏.
Metin Kale
我正在使用H2-DB访问静态数据库......
我有一张桌子,看起来像:
COUNTRY STATE CITY LAT LNG COUNTRYID STATEID CITYID
"Germany" "Berlin" "" 1.23 1.23 1 1 0
"Germany" "München" "" 1.23 1.23 1 2 0
"USA" "Alabama" "Auburn" 1.23 1.23 2 1 1
"USA" "Alabama" "Birmingham" 1.23 1.23 2 1 2
"USA" "Alaska" "Anchorage" 1.23 1.23 2 2 1
"USA" "Alaska" "Cordova" 1.23 1.23 2 2 2
Run Code Online (Sandbox Code Playgroud)
它是一个包含许多国家的巨大名单,其中大多数只有国家和州(如德国,而国家是城市),少数也有城市(如美国这里)......
问题是现在,当我查询
SELECT * FROM MyTable WHERE COUNTRY = 'Germany' group by STATE order by STATE
Run Code Online (Sandbox Code Playgroud)
为了获得状态(或城市)的排序列表,我得到一个错误说
Field CITY must be in …Run Code Online (Sandbox Code Playgroud) 我有一个片段,视图存储在onCreateView中的一个Class变量中:
private FrameLayout mView;
private TextView countdown;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle bdl) {
mView = (FrameLayout)inflater.inflate(R.layout.vakit_fragment, container, false);
countdown = (TextView) mView.findViewById(R.id.countdown);
...
return mView;
}
Run Code Online (Sandbox Code Playgroud)
这两个都是非空的,不会在我的代码中的任何地方修改.
以后这是从主要活动调用的:
MainFragment frag = (MainFragment) mAdapter.getItem(mPager.getCurrentItem());
if(frag!=null) {
frag.onSecond();
}
Run Code Online (Sandbox Code Playgroud)
在片段中:
protected void onSecond(){
String left=times.getLeft();
if(countdown!=null)
countdown.setText(left);
}
Run Code Online (Sandbox Code Playgroud)
在onSecond上,mView和countdown都是NULL,为什么?我无法解释.
倚天