小编Ali*_*ali的帖子

使用导航组件多次触发 LiveData 观察者

场景:我有两个名为FirstFragment和 的片段UnitFragment。我从FirstFragmentUnitFragment选择一个单元返回FirstFragmet使用navController.popBackStack();并将单元数据发送到FirstFragment观察单元数据的单元。

这是我onViewCreatedFirstFragment

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    if (viewModel == null) { // Lazy Initialization
        ApiService apiService = ApiServiceProvider.getInstance();
        AddNewWareViewModelFactory addNewWareViewModelFactory = new AddNewWareViewModelFactory(apiService);
        viewModel = new ViewModelProvider(this, addNewWareViewModelFactory).get(AddWareViewModel.class);
    }

    Log.i(TAG, "OnViewCreated -----> Called");
    viewModel.callNewWare(parentCode);
    viewModel.getNewWareResponse().observe(getViewLifecycleOwner(),
            resObject -> Log.i(TAG, "API Response LiveData Count -----> " + count++)); // Started From Zero

    NavHostFragment navHostFragment = …
Run Code Online (Sandbox Code Playgroud)

java android android-mvvm android-livedata android-architecture-navigation

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

如何调试Android后台服务?

我一直在为Android开发一个包含后台服务的PhoneGap应用程序.我的问题是:我该如何调试这项服务?是否可以使用AVD进行调试并逐步进行?或者我可以使用自己的设备来实现这一目标吗?

谢谢!

java eclipse android background-service cordova

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

RecyclerView:IndexOutOfBoundsException检测到不一致.商品位置无效

致命异常:java.lang.IndexOutOfBoundsException检测到不一致.项目位置5无效(偏移量:5).state:24

这种崩溃发生得太多了!!!

7107用户和12k崩溃!

我在Fabric Crashlytics中得到它.

Fatal Exception: java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 5(offset:5).state:41 at android.support.v7.widget.RecyclerView$Recycler.clear(Unknown Source) at android.support.v7.widget.GapWorker.add(Unknown Source) at android.support.v7.widget.GapWorker.add(Unknown Source) at android.support.v7.widget.GapWorker.remove(Unknown Source) at android.support.v7.widget.GapWorker.add(Unknown Source) at android.support.v7.widget.GapWorker.run(Unknown Source) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5930) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

DateList是涉及RecyclerView的片段:

public class DateList extends Fragment {

DatesItemAdapter adapter;
List<DateItem2> keyList;
CardView cardView;
double v = 1;
float radius = 1;
ProgressBarCircular mCircular;
SwipeRefreshLayout swipeRefreshLayout;
RecyclerView mRecyclerView;
Animation animSlideUp;
Animation animSlideDown;
Uri.Builder builder; …
Run Code Online (Sandbox Code Playgroud)

android adapter indexoutofboundsexception crashlytics android-recyclerview

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

Fabric Crashlytics 报告显示一些字母而不是我的 Android 应用程序的类名称

在 Fabric Crashlytics 报告中,我看到一些字母而不是类名称。例如,当我看到“MainActivity”时,我知道MainActivity.java 中发生了崩溃,但现在我看到字母“a”“e”“w”而不是类名,我无法理解崩溃的类发生了!

我的 crashlytics 报告的图片

我怎么解决这个问题?

android crash-reports crashlytics crashlytics-android google-fabric

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

如何使用 sentry-cli 设置 Sentry.io 的默认组织

我将在我的 Android 应用程序中使用 Sentry。我的公司正在使用自托管的 Sentry,版本 9.0.0。当我sentry-cli info使用 sentry-cli运行命令时,我得到以下答案:

Sentry Server: https://log.mydomain.com
Default Organization: -
Default Project: -
Run Code Online (Sandbox Code Playgroud)

它无法识别Default OrganizationDefault Project。如何设置这些数据?

terminal android sentry android-studio

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

Androidx滚动视图行为不起作用

切换到androidx后,以下代码停止工作。工具栏下面的TextView用于滚动内容,但现在不滚动。我设法使它只有在将相同的scrollFlags设置为Toolbar时才起作用,但我想保留它。除了将工具栏移出AppBarLayout和CoordinatorLayout之外,还有其他解决方案吗?

<androidx.coordinatorlayout.widget.CoordinatorLayout
        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:layout_width="match_parent"
        android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

        <androidx.appcompat.widget.Toolbar
                app:title="Non-scrollable title"
                android:layout_width="wrap_content"
                android:layout_height="?android:attr/actionBarSize"/>

        <TextView
                app:layout_scrollFlags="scroll"
                android:layout_margin="16dp"
                android:textSize="20sp"
                android:text="this should scroll with the content"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

    </com.google.android.material.appbar.AppBarLayout>

    <androidx.core.widget.NestedScrollView
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        <!-- some scrollable content here -->

    </androidx.core.widget.NestedScrollView>

</androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

android-appbarlayout androidx

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

如何在不使用DatePickerDialog的情况下使用OnDateChangedListener,OnDateSetListener?

我希望能够在用户开始更改时检测到datepicker上的更改.但是,我不想使用datrpickerdialog.有没有人知道为什么在更改datepicker上的日期时onDateSet(DatePicker arg0,int arg1,int arg2,int arg3)不会触发?

我对此表示高度赞赏.干杯

这是我的代码的简化版本:

public class AddItem extends Activity  implements OnDateChangedListener,OnDateSetListener{

DatePicker start ;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.entryelements);
    start = (DatePicker) findViewById(R.id.start);

@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear,
        int dayOfMonth) {

    // TODO Auto-generated method stub
    Toast.makeText(getApplicationContext(),
            " thiv view"+year,
            Toast.LENGTH_LONG).show();
    Log.v("indatechange", "ok");

}

@Override
public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
    // TODO Auto-generated method stub
    Toast.makeText(getApplicationContext(),
            " thiv view"+arg0,
            Toast.LENGTH_LONG).show();
    Log.v("indatechange", "ok");
}
Run Code Online (Sandbox Code Playgroud)

}

android datepicker datepickerdialog

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

如何在android中验证伊朗Melli代码(国家代码或代码Melli)

我需要一种方法来验证伊朗人的Melli Code(National Code或Code Melli).

我知道它有一个公式.

java validation android

6
推荐指数
2
解决办法
1820
查看次数

为什么我的对话框片段显示得这么薄?

我有一个简单的DialogFragment,其中包含 3EditTextButton. 我已经设置了其主布局的layout_width 350dp,但是当我运行该项目时,它会显示得很窄。

截屏

这是我的 DialogFragment XML:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="350dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:animateLayoutChanges="true"
    android:background="#AFE6FF"
    android:orientation="vertical"
    android:padding="24dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">


        <android.support.constraint.ConstraintLayout
            android:id="@+id/layout_mobile"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <EditText
                android:id="@+id/et_mobile"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

        </android.support.constraint.ConstraintLayout>


        <android.support.constraint.ConstraintLayout
            android:id="@+id/layout_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <EditText
                android:id="@+id/et_title"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

        </android.support.constraint.ConstraintLayout>


        <android.support.constraint.ConstraintLayout
            android:id="@+id/layout_body"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/layout_title">

            <EditText
                android:id="@+id/et_body"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-dialogfragment

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

如何避免在 Android Studio 的顶部或底部修复提取的方法代码片段

将Android Studio 更新为Arctic Fox 后| 2020.3.1版本,IDE 修复了根据滚动方向在屏幕顶部或底部提取的方法代码片段。如下图所示,它很烦人,因为它填满了屏幕的很大一部分。

在此处输入图片说明

有没有办法避免显示提取的方法代码片段?

android-studio android-studio-arctic-fox

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