我目前可以使用此代码。我正在做的是使用 Picasso 下载图像并将其加载到 imageView 中,该 imageView 位于 RecyclerView 项内。
回收者项目 XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_item"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardPreventCornerOverlap="false"
app:cardElevation="4dp"
app:cardCornerRadius="4dp"
app:cardUseCompatPadding="true">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Loading View -->
<com.wang.avi.AVLoadingIndicatorView
android:id="@+id/avloadingitem"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:visibility="gone"
app:indicator="BallClipRotate"
app:indicator_color="@color/colorAccent"/>
<!-- Imagen -->
<com.wallakoala.wallakoala.Views.ProductImageView
android:id="@+id/grid_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:riv_corner_radius_bottom_left="4dp"
app:riv_corner_radius_bottom_right="4dp"
app:riv_corner_radius_top_left="4dp"
app:riv_corner_radius_top_right="4dp"/>
<!-- Pie de foto -->
<RelativeLayout
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:alpha="0.75">
<!-- Info extra -->
<include android:id="@+id/extraInfo"
layout="@layout/product_footer_extra"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible"/>
<!-- Info principal -->
<include android:id="@+id/mainFooter"
layout="@layout/product_footer"
android:layout_height="@dimen/footer_height"
android:layout_width="match_parent" …Run Code Online (Sandbox Code Playgroud) 我正在实现一个显示相似结果的搜索结果页面。我有一个Hash-Maps的数组列表(具有50个地图,其中每个地图都有12个值)。我想在结果页面的卡片视图中显示每个地图。我尝试为此使用回收站视图。但无法解决这个问题。我已经遍历了堆栈溢出中的所有线程,但找不到任何东西。
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String,String>>();
nodes = docc.getElementsByTagName("Table");
int k = nodes.getLength();
for (int i = 0; i < k; i++) {
Element e = (Element) nodes.item(i);
HashMap<String, String> map = new HashMap<String, String>();
patid = getValue(e, "iPat_id");
patname = getValue(e, "cPat_Name");
patAge = getValue(e, "iAge");
cMaritalSt = getValue(e, "cMarital_St");
OpRegNo = getValue(e, "iReg_No");
Doc_Id = getValue(e, "iDoc_id");
Dept_Id = getValue(e, "iDept_id");
DocName = getValue(e, "cDocName");
PatAddress = getValue(e, "PatAddress");
mobileno = getValue(e, "cMobile");
patdob = …Run Code Online (Sandbox Code Playgroud) android arraylist hashmap recycler-adapter android-recyclerview
我正在使用recyclerView,我成功地膨胀了两个视图,但每个视图内容来自不同的json数据类型.我尝试在适配器中传递两种数据类型,但它们没有正确绑定
源代码
public class SimpleStringRecyclerViewAdapter:RecyclerView.Adapter {
private Article[] mValues;
private List<YouTubeItem> mValues2;
Context context;
public SimpleStringRecyclerViewAdapter(Context context, Article[] items, List<YouTubeItem> item )
{
this.context = context;
mValues = items;
mValues2 = item;
}
public override int ItemCount
{
get
{
return mValues.Count() + mValues2.Count();
}
}
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
if (holder is SimpleViewHolder)
try
{
Article item = mValues[position];
var simpleHolder = holder as SimpleViewHolder;
simpleHolder.mTxtView.Text = Android.Text.Html.FromHtml(item.Title).ToString();
simpleHolder.mTxtView2.Text = item.Description;
using (var imageView = …Run Code Online (Sandbox Code Playgroud)我是android的新手,我有一个RecyclerView可以显示json的图像列表。我想在RecyclerView的项目单击时做到全屏显示图像,而且应该可以放大和缩小。功能是使用Photoview Library完成的,但是无法全屏查看项目。下面附有适配器类代码。请任何人帮助我执行此操作。
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
final MyHolder myHolder = (MyHolder) holder;
DataFish current = data.get(position);
// load image into imageview using glide
Glide.with(context).load(current.flagimage)
.placeholder(R.drawable.ic_launcher_background)
.error(R.drawable.ic_launcher_background)
.into(myHolder.imageView);
myHolder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
我想在此onclick中添加用于全屏查看的代码。
我在 recyclerview 适配器中使用 Volley 图像请求。在快速滚动完成之前,请求似乎工作正常,每当我快速向上或向下滚动 recyclerview 时,应用程序崩溃并出现以下错误:
java.lang.OutOfMemoryError: Could not allocate JNI Env: Failed anonymous mmap(0x0, 8192, 0x3, 0x22, -1, 0): Permission denied. See process maps in the log.
at java.lang.Thread.nativeCreate(Native Method)
at java.lang.Thread.start(Thread.java:883)
at com.android.volley.RequestQueue.start(RequestQueue.java:134)
at com.android.volley.toolbox.Volley.newRequestQueue(Volley.java:91)
at com.android.volley.toolbox.Volley.newRequestQueue(Volley.java:67)
at com.android.volley.toolbox.Volley.newRequestQueue(Volley.java:102)
at com.squadtechs.hdwallpapercollection.main_activity.fragment.WallpaperAdapter.populateViews(WallpaperAdapter.kt:60)
at com.squadtechs.hdwallpapercollection.main_activity.fragment.WallpaperAdapter.onBindViewHolder(WallpaperAdapter.kt:38)
at com.squadtechs.hdwallpapercollection.main_activity.fragment.WallpaperAdapter.onBindViewHolder(WallpaperAdapter.kt:21)
Run Code Online (Sandbox Code Playgroud)
以下是我的onBindViewHolder()代码:
override fun onBindViewHolder(holder: WallpaperHolder, position: Int) {
populateViews(holder, position)
}
private fun populateViews(holder: WallpaperHolder, position: Int) {
val requestQueue = Volley.newRequestQueue(context)
val imageRequest = ImageRequest(
list[position].wallpaper_image_url,
Response.Listener { response …Run Code Online (Sandbox Code Playgroud) android kotlin android-studio android-volley android-recyclerview
我在活动中的片段内的回收视图的行中有按钮。当用户单击其中一个按钮时,我想切换到不同的活动。如何为 Intent 建立上下文以切换到新活动。
或者,我是否应该将 onClickListener 移回片段或活动(将 onClickListener 放在 recyclerview 适配器代码中是否不正确)。如果是这样,我如何获取对从 recyclerview 适配器外部单击的按钮的引用。
这是片段代码(CheckInRecentList.java)
package com.example.checkingin;
import android.app.Application;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.google.android.material.snackbar.Snackbar;
import java.util.List;
import static androidx.constraintlayout.widget.Constraints.TAG;
/**
* A simple {@link Fragment} subclass.
* Activities that contain this fragment must implement the
* {@link …Run Code Online (Sandbox Code Playgroud) 我正在使用 Kotlin 开发回收器视图。让我们看看我的代码,当我点击 orderProduct 按钮时,orderRecyclerview 是可见的,相反,当我再次点击时,可见的消失了。但有时当我点击它时,会显示回收站视图,有时不显示。那么我怎样才能随时做到这一点呢?我该如何解决这个错误?
orderProduct.setOnClickListener{
orderProduct.setCompoundDrawablesWithIntrinsicBounds(0, 0, if (!isClicked) R.drawable.btn_down else R.drawable.btn_up, 0)
if (isClicked) {
var r = Runnable {
try {
orderRecyclerview.visibility=View.VISIBLE
paymentList= paymentDb?.paymentDao()?.getAll()!!
mAdapter = PaymentRecylcerViewAdapter(this, paymentList)
mAdapter.notifyDataSetChanged()
orderRecyclerview.adapter = mAdapter
orderRecyclerview.layoutManager = LinearLayoutManager(this)
orderRecyclerview.setHasFixedSize(false)
}catch (e: Exception) {
}
}
val thread = Thread(r)
thread.start()
}else {
orderRecyclerview.visibility=View.GONE
}
isClicked = !isClicked
}
Run Code Online (Sandbox Code Playgroud) 我看过很多视频,RecyclerView但我很困惑它ViewHolder是改变视图的适配器还是它真的只是代表屏幕上显示的每个项目。
我怎样才能更好地理解这个概念?
我有一个回收者的观点。我想向回收站视图添加一个标题,以便它与回收站视图一起滚动。多年前,选项是:
NestedScrollView. 这样做的缺点是这意味着回收者视图不会像它应该的那样运行。2020年我们在哪里?这仍然是两种选择吗?如果是这样,#2 仍然是推荐的选项吗?
谢谢。
如何使用 Kotlin 扩展功能实现通用过滤适配器?。我是安卓新手。所以请一步一步指导我。