我有以下布局:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
我添加了Fragments FrameLayout,替换它们.我的一个Fragment的一个是列表,它具有以下布局:
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Run Code Online (Sandbox Code Playgroud)
我的问题是工具栏是在列表上绘制的.我试图通过将内容包装CoordinatorLayout成a LinearLayout来解决这个问题,这解决了透支问题,但这样appbar滚动行为就不再起作用了.
任何帮助深表感谢!
android android-toolbar androiddesignsupport android-coordinatorlayout
假设我有一个像这样的html片段:
<p> <span> foo </span> <em> bar <a> foobar </a> baz </em> </p>
Run Code Online (Sandbox Code Playgroud)
我想从中提取的是:
foo bar foobar baz
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如何从html中删除所有包装标签,并获得与html中相同顺序的文本?正如您在标题中看到的,我想使用jsoup进行解析.
重音html的示例(注意'á'字符):
<p><strong>Tarthatatlan biztonsági viszonyok</strong></p>
<p><strong>Tarthatatlan biztonsági viszonyok</strong></p>
Run Code Online (Sandbox Code Playgroud)
我想要的是:
Tarthatatlan biztonsági viszonyok
Tarthatatlan biztonsági viszonyok
Run Code Online (Sandbox Code Playgroud)
这个html不是静态的,通常我只想要一个通用html片段的每个文本都以解码的人类可读形式,宽度换行符.
在build.gradle我们可以定义变量,如:
def libVersion='someVersion'
Run Code Online (Sandbox Code Playgroud)
我们可以在命令行中覆盖属性 -PlibVersion=otherVersion
不幸的是,这个命令行选项似乎不影响定义的局部变量build.gradle.有没有办法从命令行覆盖这些?请注意,由于某些原因,我不想创建settings.gradle也不想创建gradle.properties文件.
我必须测量一个View用于间隔其他的.我用这个代码:
ViewGroup view = ...;
view.setPadding(10, 0, 10, 0);
int wrapContent = RelativeLayout.LayoutParams.WRAP_CONTENT;
int specWidth = MeasureSpec.makeMeasureSpec(wrapContent, MeasureSpec.AT_MOST);
view.measure(specWidth, specWidth);
int questionWidth = view.getMeasuredWidth();
Run Code Online (Sandbox Code Playgroud)
这在Android 4.3仿真器上按预期工作.
然而,在三星Galaxy XCover 2(S7710)Android 4.1.2手机上返回的测量宽度是16777214 ...我尝试了一切,掩盖View.MEASURED_SIZE_MASK,但没有任何帮助.
你能提供一些帮助吗?提前致谢!
我在我的应用程序中使用@TargetApi(23).
@TargetApi(23)
@Override
public void onAttach(Context context) {
super.onAttach(context);
onAttachToContext(context);
}
@SuppressWarnings("deprecation")
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
onAttachToContext(activity);
}
}
protected void onAttachToContext(Context context) {
}
Run Code Online (Sandbox Code Playgroud)
但我无法理解:@TargetApi(23)注释的意思是"仅适用于Api等级23"或"适用于Api等级23及以上"?例如,如果设备24的Api级别,是onAttach(Context context)方法调用?
我正在写一个程序,我需要检查我的选择查询是否返回空记录.(在这个例子中是否没有x,y架子)
我怎样才能做到这一点?
我试过这个:
temp shelves.loadability%TYPE := NULL;
BEGIN
select loadability into temp from shelves where rownumber = x and columnnumber = y;
IF temp IS NOT NULL THEN
/* do something when it's not empty */
ELSE
/* do the other thing when it's empty */
END IF;
Run Code Online (Sandbox Code Playgroud)
但是if的第二个分支从不起作用......
编辑:
哦,这很容易......
temp shelves.loadability%TYPE;
BEGIN
select count(*) into temp from shelves where rownumber = x and columnnumber = y;
IF temp != 0 THEN
/* do something when it's not empty …Run Code Online (Sandbox Code Playgroud) 我正在使用RxAndroid进行流操作.在我的实际用例中,我从服务器获取列表(使用Retrofit).我正在使用调度程序在后台线程上完成工作,并在Android UI(主)线程上获得最终发射.
这适用于网络调用,但是我意识到网络调用后我的运算符不使用后台线程,而是在主线程上调用.
myService.fetchSomeIntegersFromServer()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.filter(integer -> {
System.out.println(Looper.getMainLooper().getThread() == Thread.currentThread());
return true;
})
.subscribe(integer1 -> {});
Run Code Online (Sandbox Code Playgroud)
如何确保所有操作都在后台线程上执行?
我想禁用滑动,但仅限于右侧.我发现在工作液这个答案.不幸的是,这复制了整个ViewPager源以实现目标.是否有任何方法只是继承现有的类而不是重复?
使"快速访问"搜索字段可选是Eclipse中期待已久的功能.现在,根据Eclipse Luna项目站点,这是可能的.我的问题是:我们如何删除它?我在设置或透视自定义中找不到它的选项.
我开始一个新的Activity从原来的Activity使用startActivityForResult(intent, requestCode).我想Activity在用户按下后退按钮时将数据返回到原始数据,因此返回原始数据时Activity.我尝试了两种方法:
压倒一切onBackPressed():
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent();
intent.putIntegerArrayListExtra(SELECTION_LIST, selected);
setResult(RESULT_OK, intent);
}
Run Code Online (Sandbox Code Playgroud)压倒一切onPause():
@Override
protected void onPause() {
super.onPause();
Intent intent = new Intent();
intent.putIntegerArrayListExtra(SELECTION_LIST, selected);
setResult(RESULT_OK, intent);
}
Run Code Online (Sandbox Code Playgroud)不幸的是,他们没有工作(resultCode不RESULT_OK中onActivityResult()).这样做的正确方法是什么?谢谢!