小编Sul*_*man的帖子

找不到Angular 6 setTimeout模块:错误:无法解析'timers'

我有个问题.我希望setTimeout在2秒后使用角度调用函数,但我得到了这个:

错误:找不到模块:错误:无法解析'计时器'; 这是我的功能:

login(user) {
  console.log(user.value);
  this.loginService.loginUser(user.value);
  // this.user = this.loginService.getUser();
  setTimeout(() => {
    this.user = this.loginService.getUser();
  }, 2000);
  if (this.user === undefined) {
     console.log('username or password incorrect');
  } else {
    console.log(this.user);
    this.navbar.connectComps(this.user);
    this.navbar.getCheck();
  }
}
Run Code Online (Sandbox Code Playgroud)

请告诉我该怎么做才能解决这个问题.

javascript module settimeout angular

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

如何使用Android导航而不绑定到ViewModel(MVVM)中的UI?

我正在使用在Google I/O 2018上呈现的Android导航,似乎我可以通过绑定到某个视图或使用NavHost从Fragment获取它来使用它.但我需要的是根据几个条件从我的第一个片段导航到ViewModel中的另一个特定视图.因为ViewModel,我延伸AndroidViewModel,但我不明白下一步该怎么做.我无法转换getApplication为Fragment/Activity而我无法使用NavHostFragment.此外,我不能只导航到导航,onClickListener因为startFragment只包含一个导航ImageView.我该如何导航ViewModel

class CaptionViewModel(app: Application) : AndroidViewModel(app) {
private val dealerProfile = DealerProfile(getApplication())
val TAG = "REGDEB"


 fun start(){
    if(dealerProfile.getOperatorId().isEmpty()){
        if(dealerProfile.isFirstTimeLaunch()){
            Log.d(TAG, "First Time Launch")
            showTour()
        }else{
            showCodeFragment()
            Log.d(TAG, "Show Code Fragment")

        }
    }
}

private fun showCodeFragment(){
    //??
}

private fun showTour(){
    //??
}

}
Run Code Online (Sandbox Code Playgroud)

我的片段

class CaptionFragment : Fragment() {
private lateinit var viewModel: CaptionViewModel
private val navController by …
Run Code Online (Sandbox Code Playgroud)

android mvvm kotlin android-navigation android-jetpack

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

共享元素过渡 + Fragment + RecyclerView + ViewPager

我正在实现一个图库应用程序,它有一个 Fragment,其中包含一个带有图像的 RecyclerView,单击图像我转到 ViewPager 以循环浏览图像。
现在,我正在尝试实现视频中的入口动画。问题是动画不起作用,我显然遗漏了一些东西(仅显示与转换相关的代码):

视图页面:

public class ViewPagerFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_viewpager, container, false);
        Transition transition = TransitionInflater.from(getContext()).inflateTransition(R.transition.fragment_transition);

        setSharedElementEnterTransition(transition);
        postponeEnterTransition();
        return view;
}
Run Code Online (Sandbox Code Playgroud)

网格适配器:

public class GridAdapter extends RecyclerView.Adapter<GridAdapter.ViewHolder> {

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.setPhotoImage(new File(mArrayOfPhotos.get(position).photo));
        ViewCompat.setTransitionName(holder.photoImage, mPhotoObjects.get(position).photo);
    }

    @Override
    public void onClick(View view) {
        // pass an image view that is being clicked... 
        // ...via listener to …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-transitions android-glide

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

Android Studio未正确选择文本

我猜不小心按下了一个键或组合键更改了Android Studio中的设置,此后android studio表现得很怪异,无法让我正确选择代码。

看下面的图片。

在此处输入图片说明

我已经检查了Android Studio设置,但找不到与此相关的任何内容。

PS我正在使用Windows 10。

ide android android-studio android-settings

5
推荐指数
2
解决办法
544
查看次数

添加新库时出现错误"程序类型已存在:android.support.design.widget.CoordinatorLayout $ Behavior"

当我尝试向项目添加新库然后运行我的应用程序时,我收到此错误:

程序类型已存在:android.support.design.widget.CoordinatorLayout $ Behavior

以下是我想添加的库

  1. implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'
  2. implementation 'com.github.yalantis:ucrop:2.2.2'

这是我的应用级gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.techxee.adarsh.chatbeta"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.google.firebase:firebase-auth:11.8.0'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support:support-v4:26.1.0'
    implementation 'com.google.firebase:firebase-database:11.8.0'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    //For firebase UI
    implementation 'com.firebaseui:firebase-ui-database:3.1.3'
    implementation 'com.google.firebase:firebase-storage:11.8.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    //For bottom …
Run Code Online (Sandbox Code Playgroud)

android gradle ucrop

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

父碎片到Child Fragment通信

我一直在搜索并且没有找到嵌套片段与父片段通信的最佳方法.Android文档声明:

所有Fragment-to-Fragment通信都是通过相关的Activity完成的.两个碎片永远不应该直接通信.

假设我有一个Gallery应用程序,有一个ViewPagerFragment(父级)ImageFragment(子级),用于在单击时全屏显示图像.我需要将文件的ArrayList从我的父片段传递给子片段.什么是正确的方法呢?

1)创建于ArrayList中的一个getter 父片段,并使用getParentFragment()孩子片段访问此方法?

2)实现一个接口并浏览Activity,但是如果它没有ID,我如何从Activity中找到子片段

3)或者在父片段中使用它:

ChildFragment fragment =(ChildFragment)getChildFragmentManager().findFragmentById(R.id.child_fragment_id);

只需在子片段中使用setter .

但是我又如何获得childFragment的ID?

提前谢谢大家

java android android-fragments

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

使用存储库在本地数据库/位置和网络之间同步

我正在实施一个天气应用程序,它通过 Retrofit 从 DarkSky 获取预报,并从 GoogleFusedLocationClient 获取位置。我的目标是通过应用程序关闭和配置更改来保存 UI 数据。我使用 Room+ViewModel+LiveData 和 Repository 模型实现了它。但是我在片段中而不是在存储库中获取我的位置和预测,目标是将其移动到存储库。
以便存储库查看数据库,如果它是空的,则从网络中获取数据。
我当前的存储库:

public class UIRepository {

    private UIDao mUIDao;
    private LiveData<List<UIData>> mAllUIData;

    UIRepository(Application application) {
        PhotoDatabase db = PhotoDatabase.getDatabase(application);
        mUIDao = db.uiDao();
        mAllUIData = mUIDao.getAllUIData();
    }

    LiveData<List<UIData>> getAllUIData() {
        return mAllUIData;
    }

    public void insert(UIData uiData) {
        new insertAsyncTask(mUIDao).execute(uiData);
    }

    private static class insertAsyncTask extends AsyncTask<UIData, Void, Void> {

        private UIDao mAsyncDao;

        insertAsyncTask(UIDao uiDao) {
            mAsyncDao = uiDao;
        }

        @Override
        protected Void doInBackground(UIData... uiData) {
            mAsyncDao.insert(uiData[0]);
            return …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments android-room android-architecture-components

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