お世話になります。
開発経験が乏しく的外れな質問をしてしまうかもしれませんが、お手柔らかにお願いします。
不足している載せるべき情報がありましたら、教えていただけると幸いです。
前提・実現したいこと
URL先のアクティビティを実装したい
https://www.youtube.com/watch?v=YL1VpGBj3R0
発生している問題・エラーメッセージ
RecyclerViewに何も表示されない。(ビルドはできる)
ブレークポイントを設置してデバッグしてみましたが、特に問題は確認できませんでした。
デバッグログにも解決に繋がるようなエラーメッセージは確認できませんでした。
試したこと
表示に用いる画像を自分で用意したため、画像サイズの問題で落ちているかと
思い、色々なサイズ(大小)の画像を用いたが変わらなかった。
補足情報(動画のソースとの差異)
動画では、android.support.v7.widget.RecyclerView を使用していますが、
私のプロジェクトでは、androidx.recyclerview.widget.RecyclerView を使用しています。
また、表示させる画像は独自にダウンロードしてきた画像を用いております。
追記 2019/9/11
プロジェクトを作成しなおして実行したところ、
アプリが落ちることはありませんでしたが、
何も表示されていないRecyclerViewが表示されました。
その際の実行ログになります。
- 実行時ログ
09/11 13:34:53: Launching app $ adb shell am start -n "com.example.testapp/com.example.testapp.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Connected to process 14163 on device huawei-ale_l02-ARC7N15716001377 Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page. D/HwCust: Create obj success use class android.content.res.HwCustHwResourcesImpl W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.example.testapp-1/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.testapp-1@split_lib_dependencies_apk.apk@classes.dex) because non-0 exit status W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.example.testapp-1/split_lib_slice_0_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.testapp-1@split_lib_slice_0_apk.apk@classes.dex) because non-0 exit status W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default --dex-file=/data/app/com.example.testapp-1/split_lib_slice_9_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.testapp-1@split_lib_slice_9_apk.apk@classes.dex) because non-0 exit status W/System: ClassLoader referenced unknown path: /data/app/com.example.testapp-1/lib/arm64 I/InstantRun: starting instant run server: is main process W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable D/HwCust: Create obj success use class android.content.res.HwCustHwResourcesImpl V/HwPolicyFactory: : success to get AllImpl object and return.... V/HwWidgetFactory: : successes to get AllImpl object and return.... V/ActivityThread: ActivityThread,callActivityOnCreate I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2> I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2> D/CubicBezierInterpolator: CubicBezierInterpolator mControlPoint1x = 0.15, mControlPoint1y = 0.7, mControlPoint2x = 0.2, mControlPoint2y = 0.98 D/CubicBezierInterpolator: CubicBezierInterpolator mControlPoint1x = 0.6, mControlPoint1y = 0.9, mControlPoint2x = 0.8, mControlPoint2y = 1.0 D/CubicBezierInterpolator: CubicBezierInterpolator mControlPoint1x = 0.15, mControlPoint1y = 0.7, mControlPoint2x = 0.2, mControlPoint2y = 0.98 D/CubicBezierInterpolator: CubicBezierInterpolator mControlPoint1x = 0.6, mControlPoint1y = 0.9, mControlPoint2x = 0.8, mControlPoint2y = 1.0 I/HwSecImmHelper: mSecurityInputMethodService is null D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: false E/HAL: load: id=gralloc != hmi->id=gralloc V/ActivityThread: Resuming ActivityRecord{67ba0d9 token=android.os.BinderProxy@6484b52 {com.example.testapp/com.example.testapp.MainActivity}} with isForward=true,forwardBitChanged=false V/ActivityThread: Resuming ActivityRecord{67ba0d9 token=android.os.BinderProxy@6484b52 {com.example.testapp/com.example.testapp.MainActivity}} with isForward=true,forwardBitChanged=false E/HAL: load: id=gralloc != hmi->id=gralloc I/OpenGLRenderer: Initialized EGL, version 1.4 W/OpenGLRenderer: load: so=/system/lib64/libhwuibp.so dlopen failed: library "/system/lib64/libhwuibp.so" not found Initialize Binary Program Cache: Load Failed E/HAL: load: id=gralloc != hmi->id=gralloc I/HwSecImmHelper: mSecurityInputMethodService is null mSecurityInputMethodService is null
- item.java
public class item { int background; String profileName; int profilePhoto; int nbFollowers; public item() { } public item(int background, String profileName, int profilePhoto, int nbFollowers) { this.background = background; this.profileName = profileName; this.profilePhoto = profilePhoto; this.nbFollowers = nbFollowers; } public int getBackground() { return background; } public String getProfileName() { return profileName; } public int getProfilePhoto() { return profilePhoto; } public int getNbFollowers() { return nbFollowers; } public void setBackground(int background) { this.background = background; } public void setProfileName(String profileName) { this.profileName = profileName; } public void setProfilePhoto(int profilePhoto) { this.profilePhoto = profilePhoto; } public void setNbFollowers(int nbFollowers) { this.nbFollowers = nbFollowers; } }
- Adapter.java
public class Adapter extends RecyclerView.Adapter<Adapter.myViewHolder> { Context mContext; List<item> mData; public Adapter(Context mContext, List<item> mData) { this.mContext = mContext; this.mData = mData; } @NonNull @Override public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { LayoutInflater inflater = LayoutInflater.from(mContext); View v = inflater.inflate(R.layout.card_item,parent,false); return new myViewHolder(v); } @Override public void onBindViewHolder(@NonNull myViewHolder holder, int position) { holder.background_img.setImageResource(mData.get(position).getBackground()); holder.profile_photo.setImageResource(mData.get(position).getProfilePhoto()); holder.tv_title.setText(mData.get(position).getProfileName()); holder.tv_nbFollowers.setText(mData.get(position).getNbFollowers()+"Followers"); } @Override public int getItemCount() { return 0; } public class myViewHolder extends RecyclerView.ViewHolder { ImageView profile_photo,background_img; TextView tv_title,tv_nbFollowers; public myViewHolder(View itemView) { super(itemView); profile_photo = itemView.findViewById(R.id.profile_img); background_img = itemView.findViewById(R.id.card_background); tv_title = itemView.findViewById(R.id.card_title); tv_nbFollowers = itemView.findViewById(R.id.card_nb_follower); } } }
- MainActivity.java
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Window w = getWindow(); w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); RecyclerView recyclerView = findViewById(R.id.rv_list); List<item> mlist = new ArrayList<>(); mlist.add(new item(R.drawable.food,"Food",R.drawable.ic_people, 2500)); mlist.add(new item(R.drawable.food,"Food",R.drawable.ic_people, 2500)); mlist.add(new item(R.drawable.food,"Food",R.drawable.ic_people, 2500)); mlist.add(new item(R.drawable.food,"Food",R.drawable.ic_people, 2500)); mlist.add(new item(R.drawable.food,"Food",R.drawable.ic_people, 2500)); Adapter adapter = new Adapter(this,mlist); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(adapter); } }
回答2件
あなたの回答
tips
プレビュー