我正在研究一个片段,我想得到一个layout包含在其中的维度xml fragment layout.当我尝试代码时
RelativeLayout myLayout = view.findViewById(R.id.myLayout);
myLayout.getHeight();
Run Code Online (Sandbox Code Playgroud)
它返回0.我需要将这些尺寸放入myLayout其他对象中.
我尝试使用:
myLayout.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener(){
@Override
public void onGlobalLayout() {
mHeight = myLayout.getHeight();
mWidth= myLayout.getWidth();
System.out.println("width: "+mWidth+" height: "+mHeight);
}
});
Run Code Online (Sandbox Code Playgroud)
但是这段代码调用了很多时间,我不确切知道它何时执行.我需要将这些尺寸转化为 public void onActivityCreated ()方法.可能吗?
我想在ActionBar中另外创建一个自定义溢出菜单项,如下图所示:

但是如果ActionBar中的空间很少,我不希望Item1和Item2作为溢出进入设置项,而是进入"我的溢出项".
这是我的菜单xml代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:icon="@android:drawable/ic_menu_agenda"
android:title="Item1"
android:showAsAction="ifRoom|withText" />
<item
android:icon="@android:drawable/ic_menu_add"
android:title="Item2"
android:showAsAction="ifRoom|withText" />
<item android:id="@+id/pick_action_provider"
android:icon="@android:drawable/ic_menu_sort_by_size"
android:showAsAction="always"
android:title="Overflow" >
<menu>
<item android:id="@+id/action_sort_size"
android:icon="@android:drawable/ic_menu_camera"
android:title="Item3" />
<item android:id="@+id/action_sort_alpha"
android:icon="@android:drawable/ic_menu_sort_alphabetically"
android:title="Item4" />
</menu>
</item>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/></menu>
Run Code Online (Sandbox Code Playgroud) 如果MapView仍在加载,有没有办法听?因为我想在MapView下载地图图块时显示进度指示器(例如沙漏).
有解决方案吗
我有一个包含电影的xml数据库,例如:
<film id="5">
<title>The Avengers</title>
<date>2012-09-24</date>
<family>Comics</family>
</film>
Run Code Online (Sandbox Code Playgroud)
从Perl脚本我想按日期找到电影.如果我搜索一个exacly年的电影,例如:
my $query = "//collection/film[date = 2012]";
Run Code Online (Sandbox Code Playgroud)
它完全正常并返回2012年的所有电影,但如果我在一年之前搜索所有电影,它就不起作用,例如:
my $query = "//collection/film[date < 2012]";
Run Code Online (Sandbox Code Playgroud)
它返回所有电影..
由于某些原因,我想在动作栏中完全创建动作菜单项.但是当我从代码中添加菜单项时,它们会显示为设置菜单项的溢出.
下面是我的代码.任何解决方案

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.start, menu);
MenuItem logoutMI= menu.add(0,1,0,"Logout");
logoutMI.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
logoutMI.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);
MenuItem configMI= menu.add(0,2,1,"Configuration");
configMI.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
configMI.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return true;
}
Run Code Online (Sandbox Code Playgroud) 什么是验证字符串的最佳方法和解决方案,该字符串必须用点或逗号表示价格值并且最多有两个小数值?
RegExp,java.text.DecimalFormat还是其他什么东西?
接受这些值:
1
11
1,05
2,5
1.05
2.5
Run Code Online (Sandbox Code Playgroud)
我看到了这些解决方案,但这些并不是我想要的:
我也尝试这个RegExp,/^(\\d+(?:[\\.\\,]\\d{2})?)$/但它不起作用.