我Recyclerview这是在Coordinatorlayout> NestedScrollview>ViewPager并ViewPager有3个片段,一个具有正与帮助图片库Recyclerview。每当我尝试向上或向下滚动时,它根本不滚动。我已经设置好了photosRecycler.setNestedScrollingEnabled(false);,一旦我删除这条线,我就会让滚动只向下工作,当我试图向上移动时,它会随着父级向上移动Nestedscrollview。
我的布局管理器也将 StaggeredGrid 显示为 Grid 我需要获得这种布局
这是我的 Nestedscrollview 父布局
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="?android:attr/colorBackground"
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" >
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:colorBackground">
<ImageView
android:layout_width="match_parent"
android:layout_height="500dp"
android:src="@color/custom_transparent_colorBlack"
android:scaleType="centerCrop"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="128dp"
android:layout_height="128dp"
app:layout_constraintBottom_toBottomOf="@+id/coverPhoto"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/coverPhoto"
app:layout_constraintVertical_bias="0.44"
tools:srcCompat="@tools:sample/avatars" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/up_NestedScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never"
app:layout_behavior="@string/appbar_scrolling_view_behavior" …Run Code Online (Sandbox Code Playgroud) java android android-scrollview android-gridlayout android-recyclerview
我与firebase数据库和Firebase云消息传递聊天应用程序.我可以通过控制台发送firebase通知,但在实际情况下它应该是自动的.为了进行自动通知,我的朋友为我写了Index.js(在云函数中添加)文件,但它没有发送通知.
根据我们的逻辑函数,应该在任何新条目(在任何节点或任何房间中)触发,并通过firebase函数获取这些值,并向FCM服务器发出post请求以通知接收方设备(从token_To获取接收方设备的值) ).
Index.js
var functions = require('firebase-functions');
var admin = require('firebase-admin');
var serviceAccount = require('./demofcm-78aad-firebase-adminsdk-4v1ot-2764e7b580.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://demofcm-78aad.firebaseio.com/"
})
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
// exports.helloWorld = functions.https.onRequest((request, response) => {
// response.send("Hello from Firebase!");
// });
exports.setUserNode = functions.auth.user().onCreate(event => {
// ...
});
exports.notifyMsg = functions.database.ref('/{chatroom}/{mid}/')
.onWrite(event => {
if (!event.data.val()) {
return console.log('Message Deleted');
}
const getDeviceTokensPromise = admin.database().ref('/{chatroom}/{mid}/token_to').once('value');
return Promise.all([getDeviceTokensPromise]).then(results …Run Code Online (Sandbox Code Playgroud) javascript android node.js firebase firebase-realtime-database
我有BottomSheetFragment和recyclerview按钮fab。Floating action button我在出现时遇到问题BottomSheetBehavior.STATE_COLLAPSED。当我将底部工作表扩展到全屏时,Fab 按钮就会出现,我尝试了几种方法,但没有任何效果。
我在布局中尝试了不同的 fab 选项以使其可见,但到目前为止还没有运气。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/topBarBottomSheet"
android:clipToPadding="true"
android:layout_height="match_parent"
android:layout_width="match_parent"
>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/topBarBottomSheet">
<include layout="@layout/progressbar_framelayout" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycleviewGallery"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="@dimen/list_item_spacing_half"
android:paddingBottom="@dimen/list_item_spacing_half"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:listitem="@layout/recycler_view_item_3"
tools:spanCount="3"
tools:layoutManager="GridLayoutManager" />
</FrameLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fabBottomSheet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:backgroundTint="@color/greenElaxer"
app:fabSize="normal"
app:srcCompat="@drawable/ic_check"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:overScrollMode="always"
>
</com.google.android.material.floatingactionbutton.FloatingActionButton>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
BottomSheetFragment
public class BottomSheet extends BottomSheetDialogFragment {
FloatingActionButton fab;
RecyclerView recyclerView;
// TODO: Customize parameters
public …Run Code Online (Sandbox Code Playgroud) 我曾经Youtube Data API用来获取youtube视频,但是从youtube收到邮件后说api由于无效而被禁用。
由于YouTube已停用90天,因此YouTube已将其禁用,因此YouTube数据API无法正常工作。我无法调用它(在API控制台中启用),即使删除并添加回新的删除也是如此。请帮忙。
当我使用api密钥从Web浏览器调用时出现错误,我也尝试生成新的api密钥,也删除并重新生成了新的api密钥,但仍然没有运气。
“未配置访问权限。YouTube数据API之前未在项目264969722993中使用,或者已被禁用。请访问https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project启用它。 = 264969722993, 然后重试。如果最近启用了此API,请等待几分钟,以使操作传播到我们的系统并重试。”
我想显示空白动态网格这样的
我试图像这样填充网格,但为此我需要将drawable int数组发送到baseadapter.我知道它不是正确的方法来做到这一点
请考虑以下情况:
1)用户将获得这种带有空白网格的屏幕,其中"+"按钮将图像添加到网格,如果图像存在于网格上,则显示" - "按钮
2)一旦用户填充GridView的第二个空白网格,就立即动态增加网格.
考虑这个问题太替代问题
我有一个聊天屏幕,我可以与其他用户聊天,我将聊天数据(消息,时间和发件人通过列表)发送到RecyclerAdapter,用数据填充聊天视图.现在我还有一个列表,其中包含不同布局的数据.像这样
这是我的方法,我将第二个arraylist称为RecyclerAdapter
public void TransferResultTo_Activity(List<Image_data_Wrapper> list) {
Log.d(TAG,"Here is data Result From AsyncTask "+list.size());
getResult=list;
Image_data_Wrapper Image=getResult.get(0);
Log.d(TAG,"Result from Image data "+Image.getPage_Title());
adapter=new Chat_Adapter(this,message,getResult);
adapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
如上所述,当我尝试通过recyclerView.setAdapter(adapter);它调用适配器时,从屏幕中删除所有消息并显示我的图像数据.但我想保留所有消息,并通过新列表显示数据与数据
这是我的聊天适配器
public class Chat_Adapter extends RecyclerView.Adapter<Chat_Adapter.ViewHolder> {
private String UserID;
private Context context;
//TAG FOR TRACKING SELF MESSAGE
private int Self_Msg=0;
//ARRAYLIST OF MESSAGES OBJECT CONTAINING ALL THE MESSAGES IN THE THREAD
private List<Chat_Wrapper> arrayList_message;
public static final String TAG="###CHAT_ADAPTER###";
private List<Image_data_Wrapper> data_Result;
boolean valtype;
public Chat_Adapter(Context context, List<Chat_Wrapper> message) { …Run Code Online (Sandbox Code Playgroud) 我有一个基于单个活动和多个片段的应用程序,一些片段需要在进入片段时全屏显示并在退出时从全屏退出。我目前正在使用标志来显示全屏,Android Kitkat但我认为这不是最佳方式。我也读过,ImmersiveMode但它在较低的 Android 版本中不起作用。目前我正在使用这些方法进行全屏进入和退出。
//This method not showing transparent status bar also navigation bar and not showing system icons either
public static void setFullscreen(Activity activity) {
if (Build.VERSION.SDK_INT > 10) {
int flags = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN;
boolean isImmersiveAvailable = android.os.Build.VERSION.SDK_INT >= 19;
if (isImmersiveAvailable) {
flags |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
}
activity.getWindow().getDecorView().setSystemUiVisibility(flags);
} else {
activity.getWindow()
.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
public static void exitFullscreen(Activity activity) {
if (Build.VERSION.SDK_INT > 10) { …Run Code Online (Sandbox Code Playgroud) 我想计算我已阅读的有关Haversine公式和余弦球定律的两点经纬度之间的距离,以计算两点之间的距离,但我的主要动机是获得以米为单位的两点之间的最佳位置差。
例如,两个设备彼此相邻放置,并且android设备正在将位置发送到服务器,因此我们需要获取每个设备的位置,并以米为单位计算这两个设备之间的最小距离。当设备彼此相邻放置时,位置差异应为2-3米
那么,当设备彼此相邻时,有两种可能的方法来计算两台设备之间的最小距离(以米为单位)
编辑1:我需要计算以公里或英里为单位的距离,这在设备彼此相邻时会有很大差异。我发现Haversine公式和余弦的球形法则是计算的最佳方法,但是我需要在这些公式中做更多的工作才能使2个设备之间的差异最小化。这个问题与这个问题无关
我正在尝试在这样的设备中播放本地文件
String filePath="/storage/emulated/0/MyFiles/Media/Video/Xvid1509401908940.mp4"
File file=new File(filePath);
Uri localUri=Uri.fromFile(file);
exoPlayer_main.initializePlayer(localUri);
Run Code Online (Sandbox Code Playgroud)
获取ClassCastException
11-01 04:45:23.356 27145-29468/com.example.com.pro_working1 E/LoadTask: Unexpected exception loading stream
java.lang.ClassCastException: libcore.net.url.FileURLConnection cannot be cast to java.net.HttpURLConnection
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:393)
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:350)
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:192)
at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:692)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
11-01 04:45:23.357 27145-29468/com.example.com.pro_working1 E/LoadTask: Unexpected exception loading stream
java.lang.ClassCastException: libcore.net.url.FileURLConnection cannot be cast to java.net.HttpURLConnection
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:393)
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:350)
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:192)
at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:692)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)
我的ExoPlayer方法,用于初始化exoplayer
public void initializePlayer(Uri uri){
Log.d(TAG,"Init Player Calling"); …Run Code Online (Sandbox Code Playgroud) 我需要每 1 分钟和每 5 米位移更新一次融合位置(我知道这是不好的做法,但为了测试和显示在 Log 中),我通过按钮开始服务按下按钮后立即按下我在 logcat 中找到位置但是只有一次。根据服务类,onLocationChanged应每 1 分钟调用一次,但即使我的 GPS 几乎每分钟打开一次,然后在一段时间后关闭,它也不会再次调用,但 Logcat 中仍然没有位置更新。我需要服务类来保持更新位置而不影响UI 或主线程
这是 logcat 只显示一次位置更新
09-16 03:13:37.125 10419-10419/com.example.com.pro_working1 D/===Location Service===: Service onConnected Calling
09-16 03:13:37.125 10419-10419/com.example.com.pro_working1 D/===Location Service===: Start Location Update is Calling
09-16 03:13:38.315 10419-10419/com.example.com.pro_working1 D/===Location Service===: Service OnLocationChanged Calling
09-16 03:13:38.315 10419-10419/com.example.com.pro_working1 D/===Location Service===: Here is Updated Locations: Latitude 28.5XXXXX Longitude 77.2XXXXX
09-16 03:13:38.315 10419-10419/com.example.com.pro_working1 D/===Location Service===: Sending Location Starting Accuracy is: 37.5
Run Code Online (Sandbox Code Playgroud)
这是我的服务类
public class Location_Service_background extends Service implements …Run Code Online (Sandbox Code Playgroud) android ×9
java ×7
adapter ×1
arraylist ×1
bottom-sheet ×1
exoplayer ×1
firebase ×1
google-maps ×1
gridview ×1
haversine ×1
javascript ×1
location ×1
navigation ×1
node.js ×1
service ×1
uri ×1
youtube ×1
youtube-api ×1