我是初学者,我在理解一段代码时遇到了麻烦.有人可以在这个功能唤起时解释我,它的用途是什么?
这是我的代码:
public void onBindViewHolder(myViewHolder holder, int position) {
RecViewHolder currentdata = data.get(position);
holder.favChecker = currentdata.getFavChecker();
holder.serialID = currentdata.getSerialID();
holder.theClassName = currentdata.getTheClassName();
}
Run Code Online (Sandbox Code Playgroud) 我试过了
int year = Calendar.get(Calendar.YEAR);
Run Code Online (Sandbox Code Playgroud)
但它给了我编译时错误
无法从静态上下文引用非静态方法'get(int)'.
我从observable的调用方法调用此方法.
Observable.combineLatest(ob1 ob2,
ob3, new Func3<String, String, String, Boolean>() {
@Override
public Boolean call(String a, String b, String c) {...
Run Code Online (Sandbox Code Playgroud)
我也见过(new Date()).getYear();
但它被弃用了.
这是我的代码
if (player != null) {
if(player.isPlaying()){
player.pause();
player.stop();
}
player.release();
}
Run Code Online (Sandbox Code Playgroud)
这是错误
FATAL EXCEPTION: main
java.lang.IllegalStateException
at android.media.MediaPlayer.isPlaying(Native Method)
at com.mindefy.sindhipathshala.RecViewAdapter.mediafileRelease(RecViewAdapter.java:234)
at com.mindefy.sindhipathshala.SectionFruits.onBackPressed(SectionFruits.java:252)
Run Code Online (Sandbox Code Playgroud)
我是Android的初学者,我对a的生命周期非常困惑MediaPlayer
.
这是从onBackPressed()
另一个函数调用的适配器中的函数Activity
.player
是一个类变量.
我MediaPlayer
在同一个文件中发布这个
public void onClick(View v) {
try {
if (player != null) {
player.stop();
player.release();
}
} catch (Exception e) {
}
player = MediaPlayer.create(activityContext, soundId);
player.start();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用firebase实现Google登录身份验证.我正在学习本教程.
错误日志:
java.lang.RuntimeException:将结果ResultInfo {who = null,request = 1002,result = -1,data = Intent {(has extras)}}传递给activity {com.clabs.codefosterapp/com.clabs.codefosterapp.SplashActivity }:java.lang.IllegalArgumentException:必须指定idToken或accessToken.
在android.app.ActivityThread.deliverResults(ActivityThread.java:3389)的android.app.ActivityThread.handleSendResult(ActivityThread.java:3432)android.app.ActivityThread.access $ 1300(ActivityThread.java:135)android.app .ActivityThread $ H.handleMessage(ActivityThread.java:1244)在android.app.Loper.loop(Looper.java:136)的android.app.Handler.dispatchMessage(Handler.java:102)android.app.ActivityThread. main(ActivityThread.java:5045)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:515)at com.android.internal.os.ZygoteInit $位于dalvik.system.NativeStart.main(本地方法)的com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)中的MethodAndArgsCaller.run(ZygoteInit.java:779)引起:java.lang.IllegalArgumentException:必须指定idToken或accessToken.来自com.google.firebase.auth.GoogleAuthCredential.(未知来源)位于com.clabs.codefosterapp.SplashActivity.firebaseAuthWithGoogle(SplashActivity.java:102)的com.google.firebase.auth.GoogleAuthProvider.getCredential(未知来源)位于android.app的Android.app.ActivityThread.deliverResults(ActivityThread.java:3385)的android.app.Activity.dispatchActivityResult(Activity.java:5423)上的.clabs.codefosterapp.SplashActivity.onActivityResult(SplashActivity.java:91). ActivityThread.handleSendResult(ActivityThread.java:3432)在Android.app.Handler的android.app.ActivityThread.access $ 1300(ActivityThread.java:135)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1244).在android.app.Looper.loop(Looper.java:136)上的dispatchMessage(Handler.java:102)位于android.app.ActivityThread.main(ActivityThread.java:5045)的java.lang.reflect.Method.invokeNative(Native)方法)在java.lang.reflect.Method.invoke(Method.java:515)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(Zygo)teInit.java:779)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)at dalvik.system.NativeStart.main(Native Method)
崩溃在下面的行
AuthCredential credential = GoogleAuthProvider.getCredential(account.getIdToken(), null);
Run Code Online (Sandbox Code Playgroud)
我的代码:
private void googleSignIn() {
Intent intent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(intent, SIGN_IN);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SIGN_IN) {
GoogleSignInResult result = …
Run Code Online (Sandbox Code Playgroud) 我在观察 LiveData 和从前台服务类中的 Room Database 查询数据时遇到问题。该服务在后台运行并执行各种数据库操作。
通过使用observeForever
和查询可以通过访问存储库类(绕过 ViewModel)来观察 LiveData 似乎是可能的,但这似乎是一种黑客行为,而不是标准方式。
这是我的代码 -
public void onBindViewHolder(myViewHolder holder, int position) {
//1. details obj = list.get(holder.getAdapterPosition());
//2. details obj = list.get(position);
holder.position = position;
}
Run Code Online (Sandbox Code Playgroud)
我收到了警告
不要把位置视为固定; 只有立即使用并调用holder.getAdapterPosition()才能查找以后,当项目的位置在数据集中发生变化时,RecyclerView将不会再次调用onBindViewHolder,除非项目本身无效或无法确定新位置.因此,您只应在获取此方法中的相关数据项时使用position参数,并且不应保留它的副本.如果您稍后需要项目的位置(例如,在单击侦听器中),请使用getAdapterPosition(),稍后将更新适配器位置.
所以我对1和2感到困惑,我应该选择哪个?为什么?正如它说getAdapterPosition()提供更新的位置,我从列表中获取基于位置的值.
谢谢.
我正在使用Xcode 8.3和Swift3。为了使用图表库,我需要使用图表3.0.2,但Cocoapods始终在安装最新的库。
我尝试了以下命令-
pod install
pod update
Run Code Online (Sandbox Code Playgroud)
我正在开发一个库,其中参数的任何更改都会刷新视图。在refresh()
函数中,我将一些参数的值设置为默认值。
var viewAlpha= 255
set(value) {
field = value
refresh()
}
fun refresh() {
viewAlpha = 255
invalidate()
}
Run Code Online (Sandbox Code Playgroud)
由于明显的原因,这会导致 StackOverflowError。
引起:java.lang.StackOverflowError: stack size 8MB
当我们在同一个类中访问它时,是否可以在不调用其 setter 的情况下访问 kotlin 中的变量。类似于我们在java中所做的。
这是我的xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:background="@drawable/filebinder" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="14"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="6"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="30 July"
android:textColor="#03a9f4"
android:textSize="32sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我在我的Android监视器中得到这个
07-01 18:32:04.693 10005-10005/com.mindefy.kidster E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.zze.zzb
07-01 18:32:12.293 10005-10005/com.mindefy.kidster E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mindefy.kidster/com.mindefy.kidster.DiaryEntry.diaryEntryTeacherActivity}: android.view.InflateException: Binary XML file line #9: …
Run Code Online (Sandbox Code Playgroud) 这是我的代码
final ObjectAnimator transAnimation = ObjectAnimator.ofFloat(image, "y", image.getY(), 20);
transAnimation.setDuration(duration);
transAnimation.start();
Run Code Online (Sandbox Code Playgroud)
现在,当动画即将完成时,动画会变慢.我想让它加速.请帮我.
我有一个包含字符,数字和浮点值的数组。
a[] = {'a',2,2.5}
Run Code Online (Sandbox Code Playgroud)
我必须将每个整数和浮点数乘以2,并且不应对字符进行任何操作。
我的解决方案-
def self.double_numbers(input)
input.map do |input_element|
if input_element.is_a? Integer
input_element.to_i * 2
elsif input_element.is_a? Float
input_element.to_Float * 2
end
end
end
Run Code Online (Sandbox Code Playgroud)
输入无效
a[] = {'a',2,2.5}
Run Code Online (Sandbox Code Playgroud)
回来了
0 4 4