显示ProgressDialog时崩溃应用程序.我正在使用滑出式键盘在手机上进行测试.当显示对话框时,我滑动键盘和应用程序崩溃.
public static class ProgressDialogFragment extends DialogFragment
{
public ProgressDialogFragment()
{
super();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
final ProgressDialog dialog = new ProgressDialog(getActivity());
dialog.setMessage(getString(R.string.dlg_progress_title));
dialog.setIndeterminate(true);
dialog.setCancelable(false);
return dialog;
}
@Override
public void show(FragmentManager manager, String tag)
{
try
{
super.show(manager, tag);
}
catch (IllegalStateException e)
{
Log.d(TAG, e.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
崩溃日志:
> 04-25 20:49:46.999: E/AndroidRuntime(7904): FATAL EXCEPTION: main
04-25 20:49:46.999: E/AndroidRuntime(7904): java.lang.NullPointerException
04-25 20:49:46.999: E/AndroidRuntime(7904): at android.support.v4.app.DialogFragment.dismissInternal(DialogFragment.java:184)
04-25 20:49:46.999: E/AndroidRuntime(7904): at android.support.v4.app.DialogFragment.dismissAllowingStateLoss(DialogFragment.java:165)
04-25 20:49:46.999: E/AndroidRuntime(7904): at com.fisherman.activity.HomeActivity$2.onPostExecute(HomeActivity.java:268) …
Run Code Online (Sandbox Code Playgroud) android nullpointerexception android-fragments dialogfragment
我创建了一个自定义视图并将其添加到布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:custom="http://schemas.android.com/apk/res/com.eleks.customview"
android:padding="20dp"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.eleks.customview.CView
android:id="@+id/circle1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
custom:textSize="@dimen/circle_text_size"
custom:text="@string/circle_default_text"
custom:radius="@dimen/circle_radius"
custom:textColor="@color/circle_text"
custom:textBackground="@color/circle_background" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我在自定义视图中实现onMeasure并设置宽度和高度.但是我的视图忽略了父填充(20dp).看图:
公共类CView扩展了View {private static final String TAG ="CView";
// default value
private static final int DEFAULT_RADIUS = 30;
private static final int DEFAULT_TEXT_SIZE = 12;
private static final int DEFAULT_TEXT_COLOR = Color.BLACK;
private static final int DEFAULT_BACKGROUND = Color.GRAY;
private static final int DEFAULT_WIDTH = DEFAULT_RADIUS * 2;
private static final int DEFAULT_HEIGHT = DEFAULT_RADIUS * 2;
// variables
private …
Run Code Online (Sandbox Code Playgroud) 我不明白.如何在项目中添加和使用Espresso?
Espresso网址:https://code.google.com/p/android-test-kit/
如何将此库连接到我的项目?我想在Eclipse中有一个例子.
我需要在Android API中没有填充的GridView小于10.我的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >
<GridView
android:id="@+id/grid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:alwaysDrawnWithCache="true"
android:background="@color/gridview_background"
android:clipChildren="true"
android:horizontalSpacing="1dp"
android:numColumns="6"
android:verticalSpacing="1dp" />
Run Code Online (Sandbox Code Playgroud)
结果:
填充上显示红色箭头.它仅在Android <3.0中我需要的结果
没有填充物.
PS完全相同的Android 3.0上的代码没有填充.这是为什么?
我在Android中使用Espresso创建单元测试.我的项目有NavigationDrawer.我创建测试,必须滑动NavigationDrawer并单击按钮.在理解中,如何在我的测试中创建幻灯片操作.
我目前的解决方案
try
{
runTestOnUiThread(new Runnable()
{
@Override
public void run()
{
DrawerLayout drawer = (DrawerLayout)getActivity().findViewById(R.id.drawer_layout);
drawer.openDrawer(Gravity.LEFT);
}
});
}
catch (Throwable e)
{
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
但我认为这是糟糕的代码.
我在资源中有字段(svn修订版).如何使用Gradle在我的领域中获得svn修订版,那不是用我的手来做的?