小编Non*_*hoi的帖子

RealmSearchAdapter不重新显示视图

我有一个gridview项目,我可以增加或减少其值,发生的是当我更改项目的值并向下滚动屏幕并向后滚动我所做的更改已经消失,如果我向下滚动几次,我可以看到我再次做出的改变,我在这里失踪了什么?

public class SearchItemViewAdapter extends RealmSearchAdapter<Itens, SearchItemViewAdapter.ViewHolder> implements RealmChangeListener {

    public SparseBooleanArray mSparseBooleanArray;

    public SearchItemViewAdapter(Activity context, Realm realm, String filterColumnName) {
        super(context, realm, filterColumnName);
        mSparseBooleanArray = new SparseBooleanArray();

    }

    @Override
    public void onChange() {
        notifyDataSetChanged();
    }

    public RealmList<Itens> getCheckedItems() {
        RealmList<Itens> mTempArry = new RealmList<>();

        for (int i = 0; i < realmResults.size(); i++) {
            if (mSparseBooleanArray.get(i)) {
                mTempArry.add(realmResults.get(i));
            }
        }


        return mTempArry;
    }


    public class ViewHolder extends RealmSearchViewHolder {

        public SearchItemView itemView;

        public ViewHolder(FrameLayout container, TextView footerTextView) {
            super(container, …
Run Code Online (Sandbox Code Playgroud)

android realm android-adapter recycler-adapter android-recyclerview

5
推荐指数
0
解决办法
259
查看次数

如何将毫秒转换为日期和时间?

我知道这个问题已被问过很多次,但我无法将给定的毫秒转换为日期和时间。

我有以下代码:

var date = '1475235770601';
var d = new Date(date);
var ds = d.toLocaleString();
alert(ds);
console.log(ds);
Run Code Online (Sandbox Code Playgroud)

运行此命令时,我会在控制台以及警报中看到无效的日期

但是,当我在此处粘贴毫秒时,它将以本地日期和时间的格式很好地转换为Fri Sep 30 2016 17:12:50

实际上我想以格式转换09/30/16 17:12:50

javascript date angularjs

3
推荐指数
2
解决办法
9794
查看次数

如何在switch案例中使用Map中的int值?

我有一张地图:

Map<String, Integer> myMap = new HashMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)

现在我添加了一些值:

myMap.put("east", generateId());
myMap.put("west", generateId());
myMap.put("north", generateId());
myMap.put("south", generateId());
Run Code Online (Sandbox Code Playgroud)

现在我尝试使用switch case检查匹配:

int i = myMap.get("east");
int j = myMap.get("west");
int k = myMap.get("north");
int l = myMap.get("south");
switch (myId) {
    case i:
        break;
    case j:
        break;
    case k:
        break;
    case l:
        break;
}
Run Code Online (Sandbox Code Playgroud)

它表示在所有情况下都需要常量表达式(i,j,k,l).我该如何解决这个问题?

java hashmap switch-statement

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

这是ExifInterface中的错误吗?

我的问题是,在某些设备上,从库中选取后,一些图像在ImageView中旋转.我发现了很多使用ExifInterface来解决这个问题的信息,所以我尝试使用它.但是当我尝试使用图像路径创建ExifInterface实例时,我有一个奇怪的例外.

W/ExifInterface: Invalid image
java.io.IOException: Invalid marker: 89
at android.media.ExifInterface.getJpegAttributes(ExifInterface.java:1598)
at android.media.ExifInterface.loadAttributes(ExifInterface.java:1334)
at android.media.ExifInterface.<init>(ExifInterface.java:1052)
at com.igeotrack.igeo.ui.fragment.ProfileFragment.modifyOrientation(ProfileFragment.java:554)
at com.igeotrack.igeo.ui.fragment.ProfileFragment.setLogo(ProfileFragment.java:515)
at com.igeotrack.igeo.ui.fragment.ProfileFragment.onViewCreated(ProfileFragment.java:186)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1127)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5433)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我的道路没有错,因为我之前使用它并且它有效.这是我的代码.

        private void setLogo() {
        File mediaStorageDir = new File(Environment.getExternalStorageDirectory()
                + "/Android/data/"
                + getActivity().getPackageName()
                + "/Files");

        String mImageName="iGeoTrackUserAvatar.jpg";

        File mediaFile = new File(mediaStorageDir.getPath() + File.separator + mImageName);

//        if (mediaFile.exists()) …
Run Code Online (Sandbox Code Playgroud)

android android-imageview android-file

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

可搜索微调器与Realm结合

我已经在我的项目中实现了SearchableSpinner。在里面Fragment

我正在Realm用作数据库。用我的onCreateView方法我有这个...

@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.ncrdocument, container, false);
    realm = Realm.getDefaultInstance();
    documents = new ArrayList<>();
    documents = realm.where(MaterialDoc.class).findAll();
    ArrayAdapter<MaterialDoc> adapter = new ArrayAdapter<>(this.getContext(), android.R.layout.simple_list_item_1, documents);
    matList.setAdapter(adapter);
.
.
.
return view;
Run Code Online (Sandbox Code Playgroud)

数据加载正常,可以正确显示它们,但是当我尝试搜索微调器时,我的应用程序崩溃了,并且出现了此错误。

An exception occured during performFiltering()
java.lang.IllegalStateException: Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created
at io.realm.BaseRealm.checkIfValid(BaseRealm.java:383)
at io.realm.MaterialDocRealmProxy.realmGet$document_number(MaterialDocRealmProxy.java:126)
at com.my.application.test.Model.MaterialDoc.getDocumentNumber(MaterialDoc.java:29) …
Run Code Online (Sandbox Code Playgroud)

android realm android-spinner

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

我如何在android中验证电子邮件?

我的电子邮件验证有什么问题??

TextInputLayout useremail_layout = (TextInputLayout) findViewById(R.id.email_layout);
String email = "";
String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";
if (email.matches(emailPattern)&& email.length()>0) {
    useremail_layout.setError("valid address");
} else  {
     useremail_layout.setError("invalid email");
     Email.setError(null);  
}
Run Code Online (Sandbox Code Playgroud)

android

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