我已经创建了一个自定义标题栏,如本例所示
http://staticallytyped.wordpress.com/2011/03/18/android-dynamic-and-custom-title-bars/
"一个自定义标题栏" - 一半下来.
在某些活动中,我想在标题栏的右侧放置一个按钮(与facebook app相同).我试图按如下方式向视图添加一个按钮,但它没有出现.
自定义标题栏显示如下
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.maintabhost);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.headerbar_include);
试图按如下方式添加按钮.该按钮最终将是一个ImageButton并与自定义标题栏的右侧对齐 - 如果我让它工作.(刚才意识到我现在有太多的布局,但这不会影响按钮显示)
LinearLayout layout = (LinearLayout) findViewById(R.id.headerbar);
Button searchButton = new Button(this);
searchButton.setText("info");
LayoutParams layoutParams = new LinearLayout.LayoutParams
(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
searchButton.setLayoutParams(new LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
layout.addView(searchButton, layoutParams);
layout.invalidate();
Run Code Online (Sandbox Code Playgroud)
我可以使用已嵌入的按钮创建另一个自定义标题栏,但动态解决方案会更好.
干杯
我有一个调用Web服务的方法,我认为该方法在IO线程上运行,直到服务停止并且UI冻结为止。
所以我开始了一些简单的测试来检查线程
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.8'
public void test() {
disposableRx.add(
Observable.just(1, 2)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnNext(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
System.out.println("Emitting item on: " + Thread.currentThread().getName());
}
})
.map(new Function<Integer, Integer>() {
@Override
public Integer apply(@NonNull Integer integer) throws Exception {
System.out.println("Processing item on: " + Thread.currentThread().getName());
return integer * 2;
}
})
.subscribeWith(new DisposableObserver<Integer>() {
@Override
public void onNext(@NonNull Integer integer) {
System.out.println("Consuming item on: " + Thread.currentThread().getName());
}
@Override
public void onError(@NonNull …Run Code Online (Sandbox Code Playgroud) 如果我对应用程序进行后台操作并在一段时间后恢复它,则会收到以下异常.
如果我改变方向或背景并立即恢复应用程序(onSaveInstanceState并且onCreate在两种情况下执行),那么savedInstanceState Bundle包含正确的ArrayList,一切正常.
02-05 14:42:06.254 E/AndroidRuntime(24355):java.lang.RuntimeException:无法启动活动ComponentInfo {com.savant.donordetailsviewpagertitle/com.savant.donordetailsviewpagertitle.activities.DonorDetailsContainerFragmentActivity}:java.lang.NullPointerException:预期的接收器类型为com.savant.donordetailsviewpagertitle.activities.DonorDetailsContainerFragmentActivity $ RunningLoadersList,但得到null
private class RunningLoadersList extends ArrayList<RunningLoader> implements
Parcelable {
private static final long serialVersionUID = 663585476779879096L;
public RunningLoadersList() {
}
@SuppressWarnings("unused")
public RunningLoadersList(Parcel in) {
this();
readFromParcel(in);
}
private void readFromParcel(Parcel in) {
this.clear();
// First we have to read the list size
int size = in.readInt();
for (int i = 0; i < size; i++) {
RunningLoader r = new RunningLoader(in.readInt(),
in.readBundle());
this.add(r);
}
}
public …Run Code Online (Sandbox Code Playgroud) 我有一个相对布局在运行时工作正常,但在Eclipse图形布局设计器中我收到异常
无法解析资源@ id/imgSessionOutcome_Product1_Icon
imageview的资源是定义的,并且在引用它之前,所以我不能完全看出问题是什么?该异常列出两次,因此对它的引用均失败.
我保存/清理了项目,以确保资源重建,仍然是同样的错误.
Eclipse版本:在OSX上运行的Helios Service Release 2,带有最新更新等.
<RelativeLayout
android:id="@+id/lySessionOutcome_Product1"
android:layout_width="match_parent"
android:layout_height="55dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="5dip"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:id="@+id/imgSessionOutcome_Product1_Icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginRight="10dip"
android:src="@drawable/gr_bag_bc" />
<TextView
android:id="@+id/tvSessionOutcome_Product1_Description"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/imgSessionOutcome_Product1_Icon"
android:ellipsize="marquee"
android:singleLine="false"
android:text="Description" />
<TextView
android:id="@+id/tvSessionOutcome_Product1_Type"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@id/tvSessionOutcome_Product1_Description"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="true"
android:layout_toRightOf="@id/imgSessionOutcome_Product1_Icon"
android:gravity="center_vertical"
android:text="Product type"
android:textAppearance="@style/largeBlack" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)