小编Oro*_*chi的帖子

api <21的可绘制着色

是否有可能为api <21进行可绘制的着色工作?

<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/ic_calendar"
    android:tint="@color/primary" />
Run Code Online (Sandbox Code Playgroud)

工作正常但仅适用于具有API21的设备.针对较低api设备或AppCompat支持的任何解决方法?找不到任何东西.

android

79
推荐指数
7
解决办法
7万
查看次数

错误:在锁定文件中找到意外的锁定协议.预计3,发现0

将Android Studio升级到1.3后,我无法再编译项目了.我到了Unexpected lock protocol found in lock file. Expected 3, found 0..我试过删除我的.gradle文件夹,但这并没有解决问题.还有什么我能做的吗?

android gradle android-gradle-plugin

55
推荐指数
10
解决办法
6万
查看次数

如何从活动回到之前的片段?

我有一个带导航抽屉的应用程序,它正在切换片段.从其中一个片段中,我正在召唤一个新的活动.当我点击这个活动(在工具栏中)时,我想回到之前选择的片段,但它会让我回到第一个片段.我将我的片段添加到后台堆栈,所以这应该不是问题.

这是我已经尝试过的:

我在第二个活动中覆盖了onBackPressed方法,如下所示:

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount() == 0) {
        this.finish();
    } else {
        getFragmentManager().popBackStack();
    }
}
Run Code Online (Sandbox Code Playgroud)

它不起作用.我还在onsaveinstancestate方法中保存了当前片段的索引并检索它但结果相同.我也尝试过总是将当前片段放在变量中并尝试重新显示它但仍然不起作用.还有什么我可以尝试的吗?

有趣的事实:如果我按下底部面板,它实际上会回到之前的片段.

编辑:这是我执行此操作的代码:

 private void replaceFragment(Fragment fragment)
 {
     if (fragment != null)
     {
         FragmentManager manager = getSupportFragmentManager();
         manager.beginTransaction()
                    .replace(R.id.main_content, fragment)
                    .addToBackStack(null)
                    .commit();
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果savedInstanceState为null,我只添加第一个片段,如下所示:

if (savedInstanceState == null) {
    // first time
    mTitle = getResources().getString(R.string.home);
    replaceFragment(HomeFragment.newInstance()); 
}
Run Code Online (Sandbox Code Playgroud)

是的,所有这些都是在onCreate()方法中完成的.

android android-fragments

15
推荐指数
2
解决办法
2万
查看次数

MaterialCalendarView缓慢打开

我在我的应用程序中使用MaterialCalendarView(https://github.com/prolificinteractive/material-calendarview).它在我的一个碎片里面.当我打开这个片段时,加载大约需要2秒钟 - 我可以看到屏幕滞后.这真的很烦人.我一直在搜索,发现这是CalendarView的已知问题,我一直在尝试各种修复:把它放在FrameLayout中,将layout_height设置为match_parent,将layout_height设置为固定高度,甚至将视图放入新的xml布局文件中,但什么都没有似乎适用于此自定义小部件.其他人有这个小部件的麻烦吗?

这是我的布局代码:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="net.matto.android.schoolplanner.fragment.CalendarFragment">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2">
            <com.prolificinteractive.materialcalendarview.MaterialCalendarView
                android:id="@+id/calendar_view"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:mcv_selectionColor="@color/primary_dark"
                app:mcv_firstDayOfWeek="monday"/>
    </FrameLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerview_events"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <!-- empty list -->
        <TextView
            android:id="@+id/recyclerview_events_empty"
            android:text="@string/no_events"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_horizontal"
            android:paddingRight="@dimen/activity_horizontal_margin"
            android:paddingEnd="@dimen/activity_horizontal_margin"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingStart="@dimen/activity_horizontal_margin"
            android:paddingTop="@dimen/activity_vertical_margin"
            android:paddingBottom="@dimen/activity_vertical_margin" />

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/add_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:layout_marginBottom="@dimen/fab_margin_bottom"
            android:layout_marginRight="@dimen/fab_margin_right"
            android:layout_marginEnd="@dimen/fab_margin_right"
            app:borderWidth="0dp"
            android:src="@drawable/ic_plus"
            app:fabSize="normal" />

    </FrameLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android calendarview

7
推荐指数
1
解决办法
840
查看次数

.mdf文件上的实体框架

我正在研究一些项目,我必须使用本地数据库.所以,我创建了一个新的基于服务的数据库(没有表atm).然后我想添加实体框架支持.

因为我以前从未使用过Entity Framework,所以我指的是那个链接:http://msdn.microsoft.com/en-us/data/jj200620.aspx.

一切都很好,但在这里它变得复杂.我在里面创建了我的DataContext课程DbSet.但是,当我运行我的单元测试时,表是在Localdb上创建的(不在我的.mdf文件中).

该怎么办?

我很确定,我确实选择了正确使用哪个数据库(实际上已经做了3次),但仍然在LocalDb上创建了数据表.我在这做错了什么?

我是初学者(仅使用教义ORM).否则我可以插入数据和所有,它只是在错误的数据库上.

c# sql-server entity-framework

1
推荐指数
1
解决办法
1万
查看次数