小编Khe*_*raj的帖子

如何通过数据绑定调用静态方法?

我想在layout.xml文件中调用我的Util类方法

<TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@{PreferenceUtil.getSavedUser().fullName}"/>
Run Code Online (Sandbox Code Playgroud)

我已经进口了 PreferenceUtil

<import type="com.amelio.utils.PreferenceUtil"/>
Run Code Online (Sandbox Code Playgroud)

PreferenceUtil.class有一些方法。

public class PreferenceUtil {

    public static LoginResponse getSavedUser() {
        SharedPreferences sf = Amelio.getInstance().getSharedPreferences(PREF, Context.MODE_PRIVATE);
        String userJson = sf.getString(PREF_USER_DATA, null);
        if (userJson == null || userJson.equals("")) {
            return null;
        }
        return new Gson().fromJson(userJson, LoginResponse.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题

    Found data binding errors.
****/ data binding error ****msg:cannot find method getSavedUser() in class com.amelio.utils.PreferenceUtil
file:D:\Khemraj\_AndroidStudioWorkspace_\amelioFinal\app\src\main\res\layout\activity_cart.xml
loc:94:40 - 94:68
****\ data binding error ****
Run Code Online (Sandbox Code Playgroud)

这是否有可能,还建议是否建议这样做。

android android-xml android-databinding

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

覆盖反应原生样式

我想在 react native.like 中覆盖样式的一些子组件 - 我创建了一个样式 CircleShapeView

 const styles = StyleSheet.create({
      CircleShapeView: {
        width: 50,
        height: 50,
        borderRadius: 50/2,
        backgroundColor: '#000'
    },
    });
Run Code Online (Sandbox Code Playgroud)

我要变化 backgroundColor,当我使用这种风格时。像这样的事情。

<Image
style={backgroundColor: "#fff", styles.CircleShapeView}                   
...
/>  
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法?

css stylesheet reactjs react-native

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

显示带有Android分页库的进度条

我正在使用分页库和房间,使我的房间数据库成为我的应用程序的单层真相。当使用改造从服务器获取数据时,我将结果本地保存在db中,然后使用分页库从db中获取数据。我正在使用BoundaryCallback

@Override
    public void onZeroItemsLoaded() {
        requestAndSaveData();
    }
    @Override
    public void onItemAtEndLoaded(@NonNull Photo itemAtEnd) {
        requestAndSaveData();
}
Run Code Online (Sandbox Code Playgroud)
 private void requestAndSaveData() {
        if (isRequestInProgress) return;
        isRequestInProgress = true;
        apiInterface.getPhotos(lastRequestPage, NETWORK_PAGE_SIZE).enqueue(new Callback<PhotoList>() {
            @Override
            public void onResponse(Call<PhotoList> call, Response<PhotoList> response) {
                if (response.isSuccessful()) {
                    cache.insertPhotos(response.body().getHits()); //todo only save 20 - 40 items
                    lastRequestPage++;
                    isRequestInProgress = false;
                    Log.i("deb", "number from boundary: " + response.body().getHits().size());
                }
}
Run Code Online (Sandbox Code Playgroud)

当数据库中没有项目或用户滚动到最后一个项目时,我调用requestAndSaveData()从服务器获取数据并将其保存到数据库中的方法。

我的问题是,从服务器加载下一页并将其保存到数据库时,如何在列表底部显示进度条,这可能需要很长时间?

android retrofit2 android-paging

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

firebaseUser.getEmail() 使用 Firebase Auth UI 返回 null

问题:

我面临一个问题。我在我的 Android 应用程序中使用Firebase Auth UI。我已在 GoogleSignInOptions 中请求提供电子邮件。

    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(getString(R.string.web_client_id))
            .requestEmail()
            .build();
Run Code Online (Sandbox Code Playgroud)

在登录构建器中传递此 GoogleSignInOptions

            new AuthUI.IdpConfig.GoogleBuilder()
                    .setSignInOptions(gso)
                    .build(),
Run Code Online (Sandbox Code Playgroud)

现在,当我在应用程序中通过谷歌登录时,onActivityResult()被调用,然后我无法通过 获取电子邮件FirebaseUser.getEmail()。同时IdpResponse包含电子邮件。

IdpResponse response = IdpResponse.fromResultIntent(data); // response.getEmail() returns email
Run Code Online (Sandbox Code Playgroud)

上面IdpResponse包含电子邮件。

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); // user.getEmail() is null
Run Code Online (Sandbox Code Playgroud)

以上FirebaseUser对象不包含电子邮件。

目的

我希望 FirebaseUser 对象中有电子邮件。因为还有其他登录提供商。如 Facebook、电子邮件/通行证、Twitter。所以我正在寻找一个独特的解决方案。

android firebase firebase-authentication

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

如何获取 RecyclerView 的特定项目视图?

其实我想RecyclerView在我的fragment.class. 为此,我尝试getter在我的adapter班级中设置 a然后尝试在 my 中访问它,fragment但我无法访问 views 。

适配器类代码:

private List<ViewHolder> holder_list=new ArrayList<>();
 @Override
public void onBindViewHolder(ViewHolder holder, int position) {

    holder_list.add(holder);
   }
public ViewHolder getViewHolder(int position){
    return holder_list.get(position);
}
Run Code Online (Sandbox Code Playgroud)

片段代码:

MessageAdapter.ViewHolder holder= msgAdp.getViewHolder(msgAdp.getItemCount()-1);
    //Here holder.mMessageView is a text view
Toast.makeText(ctx,holder.mMessageView.getText().toString(),Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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

WebRTC通话期间Android录音麦克风

我有一个调用use的应用程序WebRTC。但是在通话中,我需要录制麦克风。WebRTC有一个对象WebRTCAudioRecord可以录制音频,但音频文件太大(PCM_16bit)。我想记录但尺寸较小。我已经尝试过MediaRecorder,但由于WebRtc记录了该记录,并且MediaRecorder在通话时没有记录权限,因此无法使用。有人这样做吗,有什么想法可以帮助我吗?

android record webrtc

4
推荐指数
2
解决办法
241
查看次数

Kotlin中的三元运算符

我可以用Java编写

int i = 10;
String s = i==10 ? "Ten" : "Empty";
Run Code Online (Sandbox Code Playgroud)

即使我可以在方法参数中传递它。

callSomeMethod(i==10 ? "Ten" : "Empty");
Run Code Online (Sandbox Code Playgroud)

如何将其转换为Kotlin?在Kotlin中编写相同内容时,Lint显示错误。

android kotlin

4
推荐指数
2
解决办法
2567
查看次数

错误:捆绑失败:ReferenceError:文件index.js的SHA-1

react-native:0.57.0纱线:1.9.4 nodejs:9.10.1

react-native run-android给我这个错误:

[android, dev] ..\..\../index.js ???????????????? 0.0% (0/1)::ffff:127.0.0.1 - - [14/Sep/2018:07:12:00 +0000] "GET /index.delta?platform=android&dev=true&minify=false HTTP/1.1" 500 - "-" "okhttp/3.10.0"
error: bundling failed: ReferenceError: SHA-1 for file c:\wamp64\www\React\hello1\index.js is not computed
    at DependencyGraph.getSha1 (c:\wamp64\www\React\hello1\node_modules\metro\src\node-haste\DependencyGraph.js:238:119)
    at c:\wamp64\www\React\hello1\node_modules\metro\src\Bundler.js:168:56
    at Generator.next (<anonymous>)
    at step (c:\wamp64\www\React\hello1\node_modules\metro\src\Bundler.js:11:657)
    at c:\wamp64\www\React\hello1\node_modules\metro\src\Bundler.js:11:817
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:118:7)
Run Code Online (Sandbox Code Playgroud)

android reactjs react-native

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

在Kotlin中使用实用程序类(最佳方法)?

我在玩Kotlin,并以不同的方式创建Util类。我正在寻找一种适合Kotlin或Java调用的方法

现在,我创建了许多类型Util。现在我很困惑,哪个最好用为什么最重要?我正在寻找考虑堆,内存,性能的最佳方法

我的问题对你们来说可能看起来很愚蠢,但我迷宫般,无法亲自解决。

这是我的游乐场。

我创建了5个Kotlin文件。我在其中放了foo()方法。并尝试通过Kotlin和Java致电。

调用类Bar.kt

class Bar {
    fun bazz() {
        UtilClass.instance.foo()
        UtilClassObject.UtilClassObject.foo()
        UtilCompanionObject.foo()
        UtilFileObject.foo()
        foo() // from UtilFile
    }
}
Run Code Online (Sandbox Code Playgroud)

调用类Qux.java

public class Qux {
    public void bazz() {
        UtilClass.Companion.getInstance().foo();
        UtilClassObject.UtilClassObject.INSTANCE.foo();
        UtilFileKt.foo();
        UtilFileObject.INSTANCE.foo();
        UtilCompanionObject.Companion.foo();
    }
}
Run Code Online (Sandbox Code Playgroud)

这里是迷宫,这让我感到困惑,选择最好的。

UtilClass.kt

class UtilClass {
    fun foo() { ... }

    companion object {
        val instance …
Run Code Online (Sandbox Code Playgroud)

kotlin

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

BottomSheetDialogFragment打开一半

BottomSheetDialogFragment当我打开它时,我打开一半(意思是不完全).

fragment.show(supportFragmentManager, "my_frag")
Run Code Online (Sandbox Code Playgroud)
  • 我尝试NestedScrollViewbehavior_peekHeight但没有奏效.
  • 没有尝试NestedScrollView.只有LinearLayout.
  • match_parent&之间尝试切换高度wrap_content

我有简单RecyclerViewBottomSheetDialogFragment布局.

<android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            ...
            >
           <android.support.v7.widget.RecyclerView
           ...
           />
Run Code Online (Sandbox Code Playgroud)

android android-layout bottom-sheet

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