1.使用PullToRefresh库的时候,想让其自动刷新(setRefreshing)不起效果
下面的解决方式,当设定的时间小的时候,同样也会导致刷新失败(这里设置了1000ms)
/**
* 自动刷新
*/
private void autoRefresh() {
gv_tuijian.postDelayed(new Runnable() {
@Override
public void run() {
gv_tuijian.setRefreshing(true);
}
}, 1000);
}
/**
* 刷新结束
*/
private void autoComplete() {
gv_tuijian.postDelayed(new Runnable() {
@Override
public void run() {
gv_tuijian.onRefreshComplete();
}
}, 1000);
}
2. Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its
子线程不能跟新UI的问题,一般用rxjava可以快速方便的切换线程,从而解决问题
Observable.timer(5000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Long>() {
@Override
public void call(Long aLong) {
if (rl_forward.getVisibility() == VISIBLE) {
rl_forward.setVisibility(GONE);
}
}
});
3.PopupWindow显示的时候,为什么其余的组件不可点击
new PopupWindow 的时候如果只传入三个参数,默认是获取焦点的
gradePop = new PopupWindow(
view,//要显示的view
layoutParams.width,//popupwindow's width
WindowManager.LayoutParams.WRAP_CONTENT,//popupwindow's height
false//是否可以获取焦点
);
4.listview嵌套webview,滑动时,有大量空白的问题
我的解决方案:我修改了我的适配器里的布局文件,把里面的一些match_parent改成自适应,虽然改了之后有爆红的问题,但编译无碍,问题解决
我改之前的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/buzhi_bg_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="63"
android:orientation="vertical">
<TextView
android:id="@+id/tv_no"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:layout_marginTop="25dp"
android:background="@drawable/checkp_bg_xuhao"
android:gravity="center"
android:textColor="#666666"
android:textSize="16sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="560"
android:orientation="vertical">
<WebView
android:id="@+id/wb_timu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"></WebView>
<RelativeLayout
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="match_parent"></RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="200"
android:orientation="vertical">
<costomview.circleprogressview.CircleProgressView
android:id="@+id/cpv"
android:layout_width="@dimen/item_tongjiadapter_cpv_wh"
android:layout_height="@dimen/item_tongjiadapter_cpv_wh"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="9dp"
android:gravity="center"
android:text="正确率"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="A"
android:textColor="#666666"
android:textSize="@dimen/item_tongjiadapter_tv2_textsize" />
<ProgressBar
android:id="@+id/pb_a"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="@dimen/item_tongjiadapter_pb_layout_width"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:max="100"
android:progress="40"
android:progressDrawable="@drawable/progressbar_horizontal_2" />
<TextView
android:id="@+id/tv_a"
android:layout_width="@dimen/item_tongjiadapter_tv_layout_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:gravity="center"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="B"
android:textColor="#666666"
android:textSize="@dimen/item_tongjiadapter_tv2_textsize" />
<ProgressBar
android:id="@+id/pb_b"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="@dimen/item_tongjiadapter_pb_layout_width"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:max="100"
android:progress="40"
android:progressDrawable="@drawable/progressbar_horizontal_2" />
<TextView
android:id="@+id/tv_b"
android:layout_width="@dimen/item_tongjiadapter_tv_layout_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:gravity="center"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="C"
android:textColor="#666666"
android:textSize="@dimen/item_tongjiadapter_tv2_textsize" />
<ProgressBar
android:id="@+id/pb_c"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="@dimen/item_tongjiadapter_pb_layout_width"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:max="100"
android:progress="40"
android:progressDrawable="@drawable/progressbar_horizontal_2" />
<TextView
android:id="@+id/tv_c"
android:layout_width="@dimen/item_tongjiadapter_tv_layout_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:gravity="center"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="D"
android:textColor="#666666"
android:textSize="@dimen/item_tongjiadapter_tv2_textsize" />
<ProgressBar
android:id="@+id/pb_d"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="@dimen/item_tongjiadapter_pb_layout_width"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:max="100"
android:progress="40"
android:progressDrawable="@drawable/progressbar_horizontal_2" />
<TextView
android:id="@+id/tv_d"
android:layout_width="@dimen/item_tongjiadapter_tv_layout_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:gravity="center"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/buzhi_bg_content_bottom">
<RelativeLayout
android:id="@+id/rl_control"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="5dp"
android:paddingTop="5dp">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:gravity="center"
android:text="查看答案解析"
android:textColor="#666666"
android:textSize="14sp" />
<ImageView
android:id="@+id/iv_flag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="4dp"
android:layout_toRightOf="@+id/tv"
android:scaleType="fitCenter"
android:src="@mipmap/buzhi_content_arrow01" />
</RelativeLayout>
<TextView
android:id="@+id/tv_divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/rl_control"
android:background="@drawable/home_content_dl"></TextView>
<LinearLayout
android:id="@+id/ll_answer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tv_divider"
android:orientation="vertical"
android:paddingBottom="15dp"
android:paddingLeft="19dp"
android:paddingTop="15dp"
android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="【答案】"
android:textColor="#505050"
android:textSize="14sp" />
<WebView
android:id="@+id/wb_daan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="【解析】"
android:textColor="#505050"
android:textSize="14sp" />
<WebView
android:id="@+id/wb_jiexi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
改之后的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/buzhi_bg_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="63"
android:orientation="vertical">
<TextView
android:id="@+id/tv_no"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:layout_marginTop="25dp"
android:background="@drawable/checkp_bg_xuhao"
android:gravity="center"
android:textColor="#666666"
android:textSize="16sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="560"
android:orientation="vertical">
<WebView
android:id="@+id/wb_timu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"></WebView>
<RelativeLayout
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="match_parent"></RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="200"
android:orientation="vertical">
<costomview.circleprogressview.CircleProgressView
android:id="@+id/cpv"
android:layout_width="@dimen/item_tongjiadapter_cpv_wh"
android:layout_height="@dimen/item_tongjiadapter_cpv_wh"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="9dp"
android:gravity="center"
android:text="正确率"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="A"
android:textColor="#666666"
android:textSize="@dimen/item_tongjiadapter_tv2_textsize" />
<ProgressBar
android:id="@+id/pb_a"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="@dimen/item_tongjiadapter_pb_layout_width"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:max="100"
android:progress="40"
android:progressDrawable="@drawable/progressbar_horizontal_2" />
<TextView
android:id="@+id/tv_a"
android:layout_width="@dimen/item_tongjiadapter_tv_layout_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:gravity="center"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="B"
android:textColor="#666666"
android:textSize="@dimen/item_tongjiadapter_tv2_textsize" />
<ProgressBar
android:id="@+id/pb_b"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="@dimen/item_tongjiadapter_pb_layout_width"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:max="100"
android:progress="40"
android:progressDrawable="@drawable/progressbar_horizontal_2" />
<TextView
android:id="@+id/tv_b"
android:layout_width="@dimen/item_tongjiadapter_tv_layout_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:gravity="center"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="C"
android:textColor="#666666"
android:textSize="@dimen/item_tongjiadapter_tv2_textsize" />
<ProgressBar
android:id="@+id/pb_c"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="@dimen/item_tongjiadapter_pb_layout_width"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:max="100"
android:progress="40"
android:progressDrawable="@drawable/progressbar_horizontal_2" />
<TextView
android:id="@+id/tv_c"
android:layout_width="@dimen/item_tongjiadapter_tv_layout_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:gravity="center"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="D"
android:textColor="#666666"
android:textSize="@dimen/item_tongjiadapter_tv2_textsize" />
<ProgressBar
android:id="@+id/pb_d"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="@dimen/item_tongjiadapter_pb_layout_width"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:max="100"
android:progress="40"
android:progressDrawable="@drawable/progressbar_horizontal_2" />
<TextView
android:id="@+id/tv_d"
android:layout_width="@dimen/item_tongjiadapter_tv_layout_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:gravity="center"
android:textColor="#999999"
android:textSize="@dimen/item_tongjiadapter_tv" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/buzhi_bg_content_bottom">
<RelativeLayout
android:id="@+id/rl_control"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="5dp"
android:paddingTop="5dp">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:gravity="center"
android:text="查看答案解析"
android:textColor="@drawable/textcolor_style_01"
android:textSize="18sp" />
<ImageView
android:id="@+id/iv_flag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="6dp"
android:layout_toRightOf="@+id/tv"
android:scaleType="fitCenter"
android:src="@mipmap/buzhi_content_arrow01" />
</RelativeLayout>
<TextView
android:id="@+id/tv_divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/rl_control"
android:background="@drawable/home_content_dl"></TextView>
<LinearLayout
android:id="@+id/ll_answer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tv_divider"
android:orientation="vertical"
android:paddingBottom="15dp"
android:paddingLeft="19dp"
android:paddingTop="15dp"
android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="【答案】"
android:textColor="#505050"
android:textSize="14sp" />
<WebView
android:id="@+id/wb_daan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="10dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="【解析】"
android:textColor="#505050"
android:textSize="14sp" />
<WebView
android:id="@+id/wb_jiexi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
5.如何在广播接收器里展示Dialog
batteryDialog = new NiftyDialogBuilder(context, 340, 225,"");
View dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_battery, null);
batteryDialog.setCustomView(dialogView, context);
batteryDialog.setCancelable(true);
batteryDialog.isCancelableOnTouchOutside(true);
batteryDialog.withEffect(Effectstype.Slit);
//广播里展示Dialog需要设置
batteryDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
batteryDialog.show();
Logger.i("弹出充满电的框");
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
6.调用系统相机相册
//相册
RxView.clicks(iv_xiangce).throttleFirst(2, TimeUnit.SECONDS).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
/* Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image*//*");
if (Build.VERSION.SDK_INT < 19) {
intent.setAction(Intent.ACTION_GET_CONTENT);
} else {
intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
}
startActivityForResult(intent, 0x102);*/
Intent albumIntent = new Intent(Intent.ACTION_PICK, null);
albumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
startActivityForResult(albumIntent,0x102);
}
});
RxView.clicks(iv_camera).throttleFirst(2, TimeUnit.SECONDS).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
//调用相机拍照
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
}
});
6.调用系统相册,不选取图片,只是调系统相册(解决打开系统相册,选取图片,闪退)
ProjectUtils.runApp("com.android.gallery3d","com.android.gallery3d.app.GalleryActivity",MoreActivity.this,"系统相册");
public static void runApp(String packName, String className, Context context, String apkName) {
try {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(packName, className);
intent.setComponent(cn);
context.startActivity(intent);
} catch (Exception e) {
Toast.makeText(context, apkName + "未安装!", Toast.LENGTH_SHORT).show();
}
}
7.android studio 打不开模拟器(avd):
Emulator PANIC Broken AVD system path. Check your ANDROID_SDK_ROOT value [DSdk]
解决方案:
打开电脑的环境变量:我把 ANDROID_HOME ANDROID_SDK ANDROID_SDK_ROOT 都改成我的sdk目录,然后重启AS,就成功了。