android studio--RecyclerView实现问题 1C

为什么我用android studio实现一个RecyclerView的相关程序 虚拟机实现时 为什么出现以下问题图片说明

4个回答

这个怎么看的出来,把你的错误日志贴出来,才方便找出错的。

你的程序崩掉了啊,有log日志么

你的这个问题问的很有深度,真的

依稀看到你的一点代码这个错误应该是空指针异常吧?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android-studio不能解析RecyclerView
在studio上不认识RecyclerView 这个控件是属于v包下的 我也导入了v包,求指点 ![图片说明](https://img-ask.csdn.net/upload/201601/13/1452651563_321759.png) ![图片说明](https://img-ask.csdn.net/upload/201601/13/1452651575_22979.png)
android RecyclerView适配器 onBindViewHolder出错!
import android.media.Image; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import java.util.List; public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { public List<ItemBean> mlist; static class ViewHolder extends RecyclerView.ViewHolder{ ImageView imageView; TextView textView; public ViewHolder(@NonNull View itemView) { super(itemView); imageView=(ImageView)itemView.findViewById(R.id.image); textView=(TextView)itemView.findViewById(R.id.title); } } public RecyclerViewAdapter(List<ItemBean> list) { this.mlist =list; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.main_item,parent,false); ViewHolder holder=new ViewHolder(view); return holder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { ItemBean itemBean = mlist.get(position); holder.imageview.setImageResource(itemBean.getImage()); holder.textView.setText(itemBean.getText()); } @Override public int getItemCount() { return mlist.size(); } } ![图片说明](https://img-ask.csdn.net/upload/202002/12/1581486448_416657.png)
导入recyclerview的jar包失败?
本人小白在网上找些代码自学一下,发现复制下来后的recyclerview报错,查了下发现可能是我没有导入关于它的jar包,于是跟着网上的教程右击app,点击open module settings/dependencies,添加了recyclerview-v7:28.0.0,然后系统开始build,但最后失败了,如下图![图片说明](https://img-ask.csdn.net/upload/202002/15/1581748116_622165.png) 有大神知道这是啥回事吗,感觉我的as好多问题[捂脸]
android studio 混淆文件配置
![据说android studio 默认将libs的第三方jar包忽略混淆,所以就没有将类似#-libraryjars libs/umeng-analytics-v5.2.4.jar的操作写入到配置文件,只是将-keep class com.umeng.**{*;}和忽略警告的操作写入配置文件。但是发现gradle在.idea/libraries中引入了其他很多jar包以及这些包的存储地址。刚好程序报错中的com.b.a.a.a 就是指的idea/libraries中的一个包中的类,即为com.loopj.android.http.AsyncHttpClient,不知道怎么在混淆配置文件中忽略这些包的混淆。最后通过配置,发现这些包还是被混淆了,不知道怎么才能配置好这些包不被混淆](https://img-ask.csdn.net/upload/201511/10/1447140316_8891.jpg) 下面是我的配置文件: -optimizationpasses 5 -dontusemixedcaseclassnames -verbose -dontpreverify -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -keepattributes *Annotation* -keepattributes Signature -keep class android.**{*;} -keep public class * extends android.view -keep public class * extends android.app.Fragment -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class * extends android.support.V4.** -keep public class * extends android.vending.licensing.ILicensingService -dontwarn android.support.v4.** -keep class * extends android.support.v4.**{*;} -dontwarn android.support.v7.** -keep class * extends android.support.v7.**{*;} /* 将libs文件下的三方包忽略混淆*/ -keep class com.mob.logcolletor.**{ *;} -dontwarn com.mob.tools.** -keep class com.mob.tools.**{ *;} -dontwarn com.mob.baidu.** -keep class com.mob.baidu.**{ *;} -dontwarn cn.sharesdk.framework.** -keep class cn.sharesdk.framework.**{ *;} -dontwarn cn.sharesdk.system.email.** -keep class cn.sharesdk.system.email.**{ *;} -dontwarn cn.sharesdk.tencent.qq.** -keep class cn.sharesdk.tencent.qq.**{ *;} -dontwarn cn.sharesdk.system.text.** -keep class cn.sharesdk.system.text.**{ *;} -dontwarn cn.sharesdk.wechat.friends.** -keep class cn.sharesdk.wechat.friends.**{ *;} -dontwarn cn.sharesdk.wechat.utils.** -keep class cn.sharesdk.wechat.utils.**{ *;} -dontwarn cn.sharesdk.wechat.favorite.** -keep class cn.sharesdk.wechat.favorite.**{ *;} -dontwarn cn.sharesdk.wechat.moments.** -keep class cn.sharesdk.wechat.moments.**{ *;} -dontwarn com.tencent.** -keep class com.tencent..**{ *;} -keep public interface com.mob.logcolletor.** -keep public interface com.mob.tools.** -keep public interface com.mob.baidu.** -keep public interface cn.sharesdk.framework.** -keep public interface cn.sharesdk.system.email.** -keep public interface cn.sharesdk.tencent.qq.** -keep public interface cn.sharesdk.system.text.** -keep public interface cn.sharesdk.wechat.friends.** -keep public interface cn.sharesdk.wechat.utils.** -keep public interface cn.sharesdk.wechat.favorite.** -keep public interface cn.sharesdk.wechat.moments.** -keepclasseswithmembernames class * { native <methods>; } -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } -keepclasseswithmembernames class * { void onClick*(...); } -keepclasseswithmembernames class * { *** *Callback(...); } -keepclasseswithmembernames class * { public <init>(android.content.Context,android.util.AttributeSet,int); } -keepclasseswithmembernames class * { public <init>(android.content.Context,android.util.AttributeSet); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keep class org.apache.http.**{*;} -keepclassmembers class **.R$* { public static <fields>; } /* 将External Libraries文件下的三方包忽略混淆*/ -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.loopj.android/android-async-http/1.4.8/77bbfe240e437ecb396d982afa0d3bd4f9090ba7/android-async-http-1.4.8.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.loopj.android/android-async-http/1.4.8/ec314dce534e83c93364388d023625bb8e605e38/android-async-http-1.4.8-sources.jar! -libraryjars build/intermediates/exploded-aar/com.soundcloud.android/android-crop/1.0.0/jars/classes.jar -libraryjars build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.0/jars/classes.jar -libraryjars $USER_HOME$/Documents/androidWorkSpace/android-sdk-macosx/extras/android/m2repository/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0-sources.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/7.0.1/d5d13ea991eab0252e3710e5df3d6a9d4b21d461/butterknife-7.0.1.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/7.0.1/ad53343e57ae0969aaf451a19eef381abe2ad3a1/butterknife-7.0.1-sources.jar -libraryjars build/intermediates/exploded-aar/com.android.support/cardview-v7/23.0.0/jars/classes.jar -libraryjars $USER_HOME$/Documents/androidWorkSpace/android-sdk-macosx/extras/android/m2repository/com/android/support/cardview-v7/23.0.0/cardview-v7-23.0.0-sources.jar -libraryjars build/intermediates/exploded-aar/com.android.support/design/23.0.0/jars/classes.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/3.6.1/86b122e640af09b0723e1fa44083c354ba6d9089/glide-3.6.1.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/3.6.1/c84c6f18844d9ae76308619008d40277de5e77d3/glide-3.6.1-sources.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.3/5fc52c41ef0239d1093a1eb7c3697036183677ce/gson-2.3.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.3/21e31b9298ed677b17fcac6dd0eb0a82ec35adc2/gson-2.3-sources.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/31fbbff1ddbf98f3aa7377c94d33b0447c646b6e/httpcore-4.3.2.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/4809f38359edeea9487f747e09aa58ec8d3a54c5/httpcore-4.3.2-sources.jar -libraryjars build/intermediates/exploded-aar/com.rengwuxian.materialedittext/library/2.1.4/jars/classes.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.nineoldandroids/library/2.4.0/e9b63380f3a242dbdbf103a2355ad7e43bad17cb/library-2.4.0.jar -libraryjars $USER_HOME$/.gradle/caches/modules-2/files-2.1/com.nineoldandroids/library/2.4.0/83d41901478fa8795254244acbafd03f14224dab/library-2.4.0-sources.jar -libraryjars build/intermediates/exploded-aar/com.orhanobut/logger/1.10/jars/classes.jar -libraryjars build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.0.0/jars/classes.jar -libraryjars $USER_HOME$/Documents/androidWorkSpace/android-sdk-macosx/extras/android/m2repository/com/android/support/recyclerview-v7/23.0.0/recyclerview-v7-23.0.0-sources.jar -libraryjars $USER_HOME$/Documents/androidWorkSpace/android-sdk-macosx/extras/android/m2repository/com/android/support/support-annotations/23.0.0/support-annotations-23.0.0.jar -libraryjars $USER_HOME$/Documents/androidWorkSpace/android-sdk-macosx/extras/android/m2repository/com/android/support/support-annotations/23.0.0/support-annotations-23.0.0-sources.jar -libraryjars build/intermediates/exploded-aar/com.android.support/support-v4/23.0.0/jars/classes.jar -libraryjars build/intermediates/exploded-aar/com.android.support/support-v4/23.0.0/jars/libs/internal_impl-23.0.0.jar -libraryjars $USER_HOME$/Documents/androidWorkSpace/android-sdk-macosx/extras/android/m2repository/com/android/support/support-v4/23.0.0/support-v4-23.0.0-sources.jar -dontwarn com.loopj.android.http.** -keep class com.loopj.android.http.**{ *;} -dontwarn com.baidu.** -keep class com.baidu.**{ *;} -dontwarn com.bumptech.glide.** -keep class com.bumptech.glide.**{ *;} -dontwarn com.google.gson.** -keep class com.google.gson.http.**{ *;} -dontwarn com.nineoldandroids.** -keep class com.nineoldandroids.**{ *;} -dontwarn com.orhanobut.logger.** -keep class com.orhanobut.logger.**{ *;} -dontwarn com.rengwuxian.materialedittext.** -keep class com.rengwuxian.materialedittext.**{ *;} -dontwarn com.soundcloud.android.crop.** -keep class com.soundcloud.android.crop.**{ *;} -ignorewarning -dump class_files.txt -printseeds seeds.txt -printusage unused.txt -printmapping mapping.txt
我导入一个Android Studio工程出现的问题,现在很郁闷啊
这个工程的gradle文件原来是这样: compile 'com.android.support:appcompat-v7:23.2.0' compile 'com.android.support:cardview-v7:23.2.0' compile 'com.android.support:customtabs:23.1.1' compile 'com.android.support:design:23.1.1' compile 'com.android.support:preference-v7:23.2.0' compile 'com.android.support:preference-v14:23.2.0' compile 'com.android.support:recyclerview-v7:23.2.0', 但是23.2.0和23.1.1的我本地没有,所以就在原来gradle文件中的dependencies目录下改成了gradle引入的是都是23.0.0版本,但是编译的时候一直显示failed to resolve: com.android.support:accompat-v7:23.2.0,其他几个也都是这样。按理说应该去加载23.0.0的,为什么一直都加载23.2.0的呢,而且extenal libraries目录下也没有任何v7,v4或者v7recyclerview等包,在project settings目录的dependencies下添加后extenal libraries目录里也是死活不显示。求大神告诉我啊,今天一天都纠结在这里了。 这个项目地址是:https://github.com/DreaminginCodeZH/Douya。
Recyclerview嵌套recyclerview的深坑,我坐在Recyclerview这个坑里很久了,仰望天空希望能把我拉上去。
Recyclerview嵌套recyclerview的深坑,对于一个新手来说怎么也上不去,特来邀请键盘中的高手高高手,拉拉我; ## 第一个Recyclerview布局: ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/area_LinearLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" android:focusableInTouchMode="true" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:background="@drawable/drawable_black_one" android:orientation="horizontal" android:layout_margin="3dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:layout_gravity="center" android:text="" android:textColor="@drawable/drawable_white_pure" android:lines="1" android:layout_weight="1"/> <TextView android:layout_width="1dp" android:layout_height="30dp" android:layout_gravity="center" android:layout_margin="5dp" android:background="@color/whiteness" /> <TextView android:id="@+id/peers_location_TextView" android:layout_width="70dp" android:layout_height="40dp" android:layout_marginLeft="5sp" android:layout_marginRight="10dp" android:ellipsize="end" android:gravity="center" android:text="" android:textColor="@color/whiteness" android:textSize="14sp" android:lines="1" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="3dp" > <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:layout_width="20dp" android:layout_height="20dp" android:layout_alignParentTop="true" android:layout_alignParentEnd="true" android:layout_marginTop="0dp" android:layout_marginEnd="10dp" android:scaleType="fitStart" android:src="@drawable/location" /> </RelativeLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:background="@drawable/drawable_black_one" android:layout_gravity="center" android:focusable="true" android:focusableInTouchMode="true" android:layout_margin="3dp"> <EditText android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_margin="1dp" android:background="@color/text_white" android:hint="行业人员" android:textSize="13dp" android:gravity="center" android:lines="1" android:layout_weight="1"/> <TextView android:layout_width="50dp" android:layout_height="wrap_content" android:text="搜索" android:textSize="14dp" android:layout_marginLeft="14dp" android:layout_gravity="center" android:textColor="@color/whiteness" android:layout_margin="5dp" android:gravity="center"/> </LinearLayout> <android.support.v7.widget.RecyclerView android:id="@+id/user_info_layout" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> ``` ## 在第一个Recycleview的item里面嵌套了第二个Recyclerview不知道这样对不对? ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/portrait" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:id="@+id/user_portrait" android:layout_width="50dp" android:layout_height="50dp" android:layout_margin="5dp" android:src="@drawable/em_default_avatar" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="20dp" android:layout_marginTop="5dp" android:gravity="clip_horizontal"> <TextView android:id="@+id/user_industry" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/dialog_circular_whiteness" android:ellipsize="end" android:gravity="center" android:text="建筑" android:textColor="@color/colorPrimary" android:textSize="14sp" android:textStyle="bold" /> <TextView android:id="@+id/user_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_marginLeft="5dp" android:background="@drawable/dialog_circular_whiteness" android:ellipsize="end" android:gravity="center" android:text="努力改变自己" android:textColor="#323232" android:textSize="10sp" android:textStyle="bold" /> <TextView android:id="@+id/name_voip" android:layout_width="20dp" android:layout_height="wrap_content" android:layout_gravity="center" android:ellipsize="end" android:gravity="center" android:text="voip" android:textColor="@color/text_pink" android:textSize="7sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="35dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="努力改变自己" android:textSize="12dp" /> </LinearLayout> </LinearLayout> <RelativeLayout android:layout_width="60dp" android:layout_height="match_parent" android:gravity="center"> <TextView android:id="@+id/user_location" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:background="@drawable/dialog_circular_whiteness" android:text="" android:textSize="12dp" android:textStyle="bold" /> </RelativeLayout> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="fill_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1"> **<!-- 导入RecyclerView-->** <android.support.v7.widget.RecyclerView android:id="@+id/user_peesr_info" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="10dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:text="访问:10000人" android:textSize="8dp" /> </LinearLayout> </LinearLayout> </LinearLayout> ``` ## 第一个Recyclerview的适配器: ``` public class Home_RecyclerView_Adapter extends RecyclerView.Adapter<Home_RecyclerView_Adapter.myViewHodler> { private Context context; private LinkedList<Home_list_get_set> LinkedList; public LinkedList<User_Recruitment_get_set> mLinkedList; public Home_list_get_set mHome_list_get_set; //创建构造函数 public Home_RecyclerView_Adapter(Context context, LinkedList<Home_list_get_set> industrytitlegetsetList) { //将传递过来的数据,赋值给本地变量 this.context = context;//上下文 this.LinkedList = industrytitlegetsetList;//实体类数据ArrayList } /** * 创建viewhodler,相当于listview中getview中的创建view和viewhodler * * @param parent * @param viewType * @return */ @Override public myViewHodler onCreateViewHolder(ViewGroup parent, int viewType) { RecyclerView user_peesr_info;//自定义recyclerveiw的适配器 //创建自定义布局 // View itemView = View.inflate(context, R.layout.peers_list_item, null);//用这个布局item宽高无效 // myViewHodler itemView = new myViewHodler(LayoutInflater.from(context).inflate(R.layout.peers_list_item, parent, false)); View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.peers_list_item, parent, false); user_peesr_info = view.findViewById (R.id.user_peesr_info); //给嵌套的RecyclerView设置适配器 User_Recruitment_Adapter user_recruitment_adapter = new User_Recruitment_Adapter (context,mLinkedList); user_peesr_info.setAdapter (user_recruitment_adapter); user_peesr_info.setLayoutManager (new LinearLayoutManager (context, LinearLayoutManager.HORIZONTAL, false)); //给嵌套的RecyclerView设置item的分割线 user_peesr_info.addItemDecoration (new DividerItemDecoration (context, DividerItemDecoration.HORIZONTAL)); return new myViewHodler(view); // return itemView; } /** * 绑定数据,数据与view绑定 * * @param holder * @param position */ @SuppressLint("ClickableViewAccessibility") @Override public void onBindViewHolder(myViewHodler holder, int position) { //根据点击位置绑定数据 mHome_list_get_set = LinkedList.get(position); // holder.mItemGoodsImg; holder.user_name.setText(mHome_list_get_set.getUser_name()); holder.user_industry.setText(mHome_list_get_set.getUser_work()); // holder.user_portrait.setImageDrawable (data.getHead_portait ());//改为下面Glide获取图上 Glide.with(context) .load(mHome_list_get_set.getHead_portait ())//图片信息 .apply(RequestOptions.bitmapTransform(new CircleCrop ()))//设置圆形 .into(holder.user_portrait);//设置到那个部位 holder.name_voip.setText(mHome_list_get_set.getUser_Vip()); holder.user_location.setText(mHome_list_get_set.getUser_location()); } /** * 得到总条数 * * @return */ @Override public int getItemCount() { // return LinkedList.size(); return LinkedList == null ? 0 : LinkedList.size(); } //自定义viewhodler class myViewHodler extends RecyclerView.ViewHolder { private ImageView user_portrait; private TextView user_name; private TextView user_industry; private TextView name_voip; private TextView user_location; public RecyclerView user_peesr_info;//自定义recyclerveiw的适配器 public myViewHodler(View itemView) { super(itemView); user_peesr_info = itemView.findViewById (R.id.user_peesr_info); user_portrait = itemView.findViewById(R.id.user_portrait); user_name = itemView.findViewById(R.id.user_name); user_industry = itemView.findViewById(R.id.user_industry); name_voip = itemView.findViewById(R.id.name_voip); user_location = itemView.findViewById(R.id.user_location); user_portrait.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //可以选择直接在本位置直接写业务处理 //Toast.makeText(context,"点击了xxx",Toast.LENGTH_SHORT).show(); //此处回传点击监听事件 if (onItemClickListener != null) { onItemClickListener.OnItemClick(v, LinkedList.get(getLayoutPosition())); } } }); } public View getItemView() { return itemView; } } /** * 设置item的监听事件的接口 */ public interface OnItemClickListener { /** * 接口中的点击每一项的实现方法 * * @param view 点击的item的视图 * @param data 点击的item的数据 */ public void OnItemClick(View view, Home_list_get_set data); } //需要外部访问,所以需要设置set方法,方便调用 private OnItemClickListener onItemClickListener; public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } ``` ## 第二个Recyclerview的适配器: ``` public class User_Recruitment_Adapter extends RecyclerView.Adapter<User_Recruitment_Adapter.myViewHodler> { public LinkedList<User_Recruitment_get_set> m_LinkedList; private Context context; public User_Recruitment_get_set mUser_Recruitment_get_set; //创建构造函数 public User_Recruitment_Adapter(Context context, LinkedList<User_Recruitment_get_set> mLinkedList) { //将传递过来的数据,赋值给本地变量 this.context = context;//上下文 this.m_LinkedList = mLinkedList; } @NonNull @Override public myViewHodler onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.user_peers_recruitment_item, viewGroup, false); return new myViewHodler(view); } @Override public void onBindViewHolder(@NonNull myViewHodler myViewHodler, int i) { mUser_Recruitment_get_set = m_LinkedList.get(i); myViewHodler.recruitment.setText (mUser_Recruitment_get_set.getRecruitment ()); } @Override public int getItemCount() { return m_LinkedList == null ? 0 : m_LinkedList.size(); } public class myViewHodler extends RecyclerView.ViewHolder { private TextView recruitment; public myViewHodler(@NonNull View itemView) { super (itemView); recruitment = itemView.findViewById(R.id.recruitment); } } } ``` ## 现问题是嵌套里面的Recyclerview无显示内容?我该如何写?
android studio setLayoutManager和setAdapter报错
看了好多教程还是解决不了Cannot resolve method 'setLayoutManager(androidx.recyclerview.widget.LinearLayoutManager)'、Cannot resolve method 'setAdapter(com.example.xiangqing.adapter.TitleAdapter)'这俩问题 ``` private void initTitleRecyclerView() { LinearLayoutManager manager=new LinearLayoutManager(this, RecyclerView.VERTICAL,false); mRecyclerView.setLayoutManager(manager); TitleAdapter adapter=new TitleAdapter(mTitleList); mRecyclerView.setAdapter(adapter); } ```头疼
Android Studio打包后闪退,求大腿。。。
用到了这些 compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:22.1.1' compile 'com.android.support:design:22.2.0' compile 'com.android.support:cardview-v7:22.2.0' compile 'com.android.support:recyclerview-v7:22.2.0' 测试时没有问题,打包安装后闪退,求助。
Android Studio导入第三方库AndroidSwipeLayout 运行时报错
本人刚开始学习android,小白水平。在导入第三方库AndroidSwipeLayout的时候遇到错误:每次运行的时候都会报错Error: Program type already present: android.support.v4.os.ResultReceiver。 因为刚开始学习,对gradle还不是很了解,到网上查询之后说是可能我有两个包版本不同但同时导入才导致的,但是我实在找不到报错中的信息对应在构建文件中的什么部分,在网上找了几个办法也都没有管用,求大神指点! 导入时用的是import Module,然后在project structure里添加依赖。 本人对gradle正在努力学习,还不是很懂,,附上配置文件的部分: **项目的build.gradle** ``` buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0-beta04' } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } ``` ## **app的build.gradle** ``` apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "com.zhang.hp.myapplication" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'androidx.appcompat:appcompat:1.0.0-alpha1' implementation 'androidx.constraintlayout:constraintlayout:1.1.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.0-alpha3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3' implementation project(':library') } ``` ## 导入的library的build.gradle ``` apply plugin: 'com.android.library' android { compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { minSdkVersion 9 targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) } } dependencies { compile 'com.android.support:recyclerview-v7:25.2.0' compile 'com.android.support:support-v4:25.2.0' } // build a jar with source files task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' } artifacts { archives sourcesJar } ``` ## **gradle.properties** ``` # Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Gradle settings configured through the IDE *will override* # any settings specified in this file. # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. org.gradle.jvmargs=-Xmx1536m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true ANDROID_BUILD_TARGET_SDK_VERSION=25 ANDROID_BUILD_TOOLS_VERSION=25.0.0 ANDROID_BUILD_SDK_VERSION=25 ANDROID_BUILD_MIN_SDK_VERSION=14 ``` 最好能说明一下导包的版本问题,希望大神们能指点一下,谢谢!
android studio 关于jar包问题 不知道怎么解决
apply plugin: 'com.android.application' apply plugin: 'com.jakewharton.butterknife' android { compileSdkVersion 25 buildToolsVersion "25.0.0" useLibrary 'org.apache.http.legacy' defaultConfig { applicationId "com.mynj" minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:25.0.1' compile 'com.android.support:recyclerview-v7:25.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.2' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'com.squareup.retrofit2:retrofit:2.3.0' compile 'com.squareup.retrofit2:converter-gson:2.3.0' compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0' compile 'com.squareup.okhttp3:okhttp:3.8.1' compile 'com.squareup.okhttp3:logging-interceptor:3.8.1' compile 'com.jakewharton:butterknife:8.4.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' compile 'com.squareup.picasso:picasso:2.5.1' compile 'com.github.bumptech.glide:glide:3.5.2' } 运行之后报错 Gradle build finished with 186 error(s) in 1m 39s 514ms Error:warning: Ignoring InnerClasses attribute for an anonymous inner class Error:(com.mysql.jdbc.ConnectionImpl$1) that doesn't come with an Error:associated EnclosingMethod attribute. This class was probably produced by a Error:compiler that did not target the modern .class file format. The recommended Error:solution is to recompile the class from source, using an up-to-date compiler Error:and without specifying any "-target" type options. The consequence of ignoring Error:this warning is that reflective operations on this class will incorrectly Error:indicate that it is *not* an inner class. Error:(com.mysql.jdbc.ConnectionImpl$10) that doesn't come with an Error:warning: Ignoring InnerClasses attribute for an anonymous inner class Error:associated EnclosingMethod attribute. This class was probably produced by a Error:compiler that did not target the modern .class file format. The recommended Error:solution is to recompile the class from source, using an up-to-date compiler Error:and without specifying any "-target" type options. The consequence of ignoring Error:this warning is that reflective operations on this class will incorrectly Error:warning: Ignoring InnerClasses attribute for an anonymous inner class Error:indicate that it is *not* an inner class. Error:(com.mysql.jdbc.ConnectionImpl$2) that doesn't come with an Error:associated EnclosingMethod attribute. This class was probably produced by a Error:compiler that did not target the modern .class file format. The recommended Error:solution is to recompile the class from source, using an up-to-date compiler Error:and without specifying any "-target" type options. The consequence of ignoring Error:this warning is that reflective operations on this class will incorrectly Error:indicate that it is *not* an inner class. Error:(com.mysql.jdbc.ConnectionImpl$3) that doesn't come with an Error:warning: Ignoring InnerClasses attribute for an anonymous inner class Error:associated EnclosingMethod attribute. This class was probably produced by a Error:compiler that did not target the modern .class file format. The recommended Error:solution is to recompile the class from source, using an up-to-date compiler Error:and without specifying any "-target" type options. The consequence of ignoring Error:this warning is that reflective operations on this class will incorrectly Error:indicate that it is *not* an inner class.
如何使用android studio将指定文件编译到apk中
我现在有一些文件需要编译到apk中,但是不知道如何操作 这个是我需要编译到apk中的文件: ![这个是我需要编译到apk中的文件](https://img-ask.csdn.net/upload/201708/29/1503990358_889265.png) 我希望最终达成的效果: ![我希望最终达成的效果](https://img-ask.csdn.net/upload/201708/29/1503990495_434378.png) 我所使用的android stduio的版本为2.3.3,gradle版本为2.2.3。 我的 build.gradle文件 ``` apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "lnsoft.mobile.xtyth" minSdkVersion 21 targetSdkVersion 25 versionCode 4 versionName "1.06" //testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" // multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } // sourceSets{ // main{ // jniLibs.srcDirs=['libs'] // } // } aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' compile 'com.android.support:cardview-v7:25.3.1' compile 'com.android.support:design:25.3.1' compile 'com.android.support:recyclerview-v7:25.3.1' compile 'com.android.support:appcompat-v7:25.3.1' compile 'org.litepal.android:core:1.6.0' compile 'com.alibaba:fastjson:1.1.62.android' compile project(path: ':commondialogutils_green') compile project(':Android_Validator_master') compile project(':pulltorefreshview') compile project(':changeskin') // compile 'com.android.support:multidex:1.0.1' } ``` 我该如何操作?
android studio 生成maven 多个module依赖问题
我有一个工程 叫xxx_Libray,里边有2个module 分别为lib1、bli2 。lib2依赖lib1。编译lib2的gradle生成的pom文件格式如下: ``` <dependency> <groupId>xxx_Libray</groupId>//这里groupId 和 version 有问题 <artifactId>lib1</artifactId> <version>unspecified</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.android.support</groupId> <artifactId>design</artifactId> <version>23.1.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.android.support</groupId> <artifactId>recyclerview-v7</artifactId> <version>23.+</version> <scope>compile</scope> </dependency> ``` 在使用依赖的项目里 ``` dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'xxx.xxx.xxx:1.0' } ``` 提示Error:Failed to resolve: XXX_Libray:lib1:unspecified ``` maven_push.gradle ``` ``` apply plugin: 'maven' apply plugin: 'signing' configurations { deployerJars } repositories { mavenCentral() } // 判断版本是Release or Snapshots def isReleaseBuild() { return !VERSION.contains("SNAPSHOT"); } // 获取仓库url def getRepositoryUrl() { return isReleaseBuild() ? RELEASE_URL : SNAPSHOT_URL; } uploadArchives { repositories { mavenDeployer { beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } pom.version = VERSION pom.artifactId = POM_ARTIFACT_ID pom.groupId = GROUP repository(url: getRepositoryUrl()) { authentication(userName: NAME, password: PASSWORD) // maven授权信息 } } } } // 进行数字签名 signing { // 当 发布版本 & 存在"uploadArchives"任务时,才执行 required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } sign configurations.archives } ``` 我觉得是pom生成依赖的问题,可是不知道怎么改,求帮忙。万分感激
安卓RecyclerView中使用seekBar时getLayoutPosition获取不到正确的位置
![图片说明](https://img-ask.csdn.net/upload/202001/14/1579011228_611211.png)如下位置获取不到正确的position,使用getAdapterPosition也是一样,每次都是返回总数量,而其他的例如图片点击事件都能正确返回位置索引,请教下是什么原因
求大神 android搜索Mysql的内容,int java.util.List.size()错误
安卓开发初学者,本想做一个能搜索数据的小程序, 但是就各种不顺利,帮忙看看哪里出现了错误。 开发环境 Android Studio 3.5.2+XAMPP 3.2.4(Mysql+Apache)+PHP 错误信息 ``` 2019-11-29 14:04:26.591 1398-1398/com.uchiyama.livesearch E/AndroidRuntime: FATAL EXCEPTION: main Process: com.uchiyama.livesearch, PID: 1398 java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference at com.uchiyama.livesearch.Adapter.getItemCount(Adapter.java:39) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:4044) at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3534) at android.view.View.measure(View.java:19785) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) at android.view.View.measure(View.java:19785) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143) at android.view.View.measure(View.java:19785) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) at androidx.appcompat.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:403) at android.view.View.measure(View.java:19785) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:19785) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464) at android.widget.LinearLayout.measureVertical(LinearLayout.java:758) at android.widget.LinearLayout.onMeasure(LinearLayout.java:640) at android.view.View.measure(View.java:19785) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at com.android.internal.policy.DecorView.onMeasure(DecorView.java:690) at android.view.View.measure(View.java:19785) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2275) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1362) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1611) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1250) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6311) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871) at android.view.Choreographer.doCallbacks(Choreographer.java:683) at android.view.Choreographer.doFrame(Choreographer.java:619) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:241) at android.app.ActivityThread.main(ActivityThread.java:6217) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) ``` 我的代码 ``` package com.uchiyama.livesearch; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import java.util.List; public class Adapter extends RecyclerView.Adapter<Adapter.MyViewHolder> { private List<Users> users; private Context context; public Adapter(List<Users> users, Context context) { this.users = users; this.context = context; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.item,parent,false); return new MyViewHolder(view); } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.name.setText(users.get(position).getName()); holder.email.setText(users.get(position).getEmail()); } @Override public int getItemCount() { return users.size(); //在这里报错 } public static class MyViewHolder extends RecyclerView.ViewHolder { TextView name,email; public MyViewHolder(View itemView) { super(itemView); name=itemView.findViewById(R.id.name); email=itemView.findViewById(R.id.email); } } } ```
RecyclerView中点击item跳转到其他Activity并显示item内容如何实现?
适配器代码 ``` package com.example.uilayout.adapter; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.example.uilayout.R; import com.example.uilayout.model.Msg; import java.util.List; /** * Created by 夏雨来 on 2018/11/20. */ public class MsgListAdapter extends RecyclerView.Adapter<MsgListAdapter.viewHolder> { private List<Msg> msgList; //1、创建构造函数 //构造函数参数是list的集合,他是rv直接的数据来源 //在做Adapter实例化的时候必须传入list的集合数据 public MsgListAdapter(List<Msg> msgList) { this.msgList = msgList; } //2、创建类ViewHolder(视图容器),承载的是条目中的控件 //做条目中控件的声明和绑定 class viewHolder extends RecyclerView.ViewHolder{ ImageView iv_head; TextView tv_friend; TextView tv_message; TextView tv_time; View itemView; public viewHolder(View itemView) { super(itemView); //itemView的值由一步一步传递过来的 this.itemView=itemView; iv_head=itemView.findViewById(R.id.iv_head); tv_friend=itemView.findViewById(R.id.tv_friend); tv_message=itemView.findViewById(R.id.tv_message); tv_time=itemView.findViewById(R.id.tv_time); } } //创建ViewHolder对象 // @Override public viewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { View itemView = View.inflate(viewGroup.getContext(),R.layout.item_msglist,null); viewHolder holder=new viewHolder(itemView); return holder; } //给ViewHolder中的控件设置数据 @Override public void onBindViewHolder(final viewHolder viewHolder, final int i) { final Msg msg = msgList.get(i); viewHolder.iv_head.setImageResource(msg.getImage_head()); viewHolder.tv_friend.setText(msg.getFriend()); viewHolder.tv_message.setText(msg.getMessage()); viewHolder.tv_time.setText(msg.getTime()); //设置条目中的点击监听 viewHolder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(view.getContext(), "你想与" + msg.getFriend() + "聊天", Toast.LENGTH_SHORT).show(); // TextView friendView=view.findViewById(R.id.tv_friend); // Intent intent=new Intent(); // Intent intent=new Intent(mContext,ChatActivity.class); // intent.putExtra("friend",msg.getFriend().toString()); // mContext.startActivity(intent); } }); //设置条目中具体控件的点击监听 // viewHolder.iv_head.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { // Toast.makeText(view.getContext(), "你点击了"+msg.getFriend()+"头像", Toast.LENGTH_SHORT).show(); // } // }); } @Override public int getItemCount() { return msgList.size(); } } ``` Activity代码 ``` package com.example.uilayout.activity; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import com.example.uilayout.model.Msg; import com.example.uilayout.adapter.MsgListAdapter; import com.example.uilayout.R; import com.example.uilayout.utils.MySQLiteOpenHelper; import java.util.ArrayList; import java.util.List; public class MsgListActivity extends AppCompatActivity { RecyclerView rv; List<Msg> msgList = new ArrayList<>(); // TextView friend; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_msglist); rv = findViewById(R.id.rv); // friend =findViewById(R.id.tv_friend); //给rv设置线性布局 rv.setLayoutManager(new LinearLayoutManager(this)); //初始化List集合数据 // initList(msgList); initListFromDB(); //给rv设置适配器 rv.setAdapter(new MsgListAdapter(msgList)); // MySQLiteOpenHelper helper=new MySQLiteOpenHelper(this,"wechat",null,1); // SQLiteDatabase db=helper.getWritableDatabase(); } public void initListFromDB() { MySQLiteOpenHelper helper = new MySQLiteOpenHelper(this, "wechat", null, 1); SQLiteDatabase db = helper.getWritableDatabase(); Cursor cursor = db.query("msg", null, null, null, null, null, null); while (cursor.moveToNext()) { int headImageSrc = cursor.getInt(cursor.getColumnIndex("headImageSrc")); String friend = cursor.getString(cursor.getColumnIndex("friend")); String message = cursor.getString(cursor.getColumnIndex("message")); String time = cursor.getString(cursor.getColumnIndex("time")); Msg msg = new Msg(headImageSrc, friend, message, time); msgList.add(msg); } } } ``` 布局文件 ``` <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp" android:descendantFocusability="blocksDescendants" > <ImageView android:id="@+id/iv_head" android:layout_width="60dp" android:layout_height="60dp" android:src="@drawable/a" android:layout_marginTop="5dp" android:layout_marginLeft="10dp" android:onClick="click" /> <TextView android:id="@+id/tv_friend" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="小张" android:textSize="20sp" android:textColor="#000" android:layout_toRightOf="@+id/iv_head" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:onClick="click" /> <TextView android:id="@+id/tv_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="你在干嘛" android:textSize="15sp" android:lines="1" android:layout_alignLeft="@+id/tv_friend" android:layout_marginTop="40dp" android:onClick="click" /> <TextView android:id="@+id/tv_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="21:00" android:textSize="15sp" android:layout_alignTop="@+id/tv_friend" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:onClick="click" /> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="#C0C0C0" android:layout_alignLeft="@+id/iv_head" android:layout_alignRight="@+id/tv_time" android:layout_marginTop="74dp" /> </RelativeLayout> ``` 未跳转时界面 ![未跳转时界面](https://img-ask.csdn.net/upload/201812/23/1545574749_907427.png) 效果,点击item跳转到另一个界面之后,界面显示与XX聊天,XX是由item中获取的 ![效果,点击item跳转到另一个界面之后,界面显示与XX聊天,XX是由item中获取的](https://img-ask.csdn.net/upload/201812/23/1545574974_525413.png)
维护很久前的项目 莫名其妙的导入design
前几天维护一个很久前的项目,想转到安卓x,结果对jar包升级的时候有一个design一直存在,并且报错把jar包转移到新项目中也不会出现这个design 下面贴图![图片说明](https://img-ask.csdn.net/upload/201912/07/1575657133_874940.jpg) apply plugin: 'com.android.application' apply plugin: "findbugs" /*apply from: 'tinker-support.gradle' apply plugin: 'packer'*/ task findbugs(type: FindBugs, dependsOn: 'assembleDebug') { ignoreFailures = true effort = "default" reportLevel = "high" println("$project.buildDir") classes = files("$project.buildDir/intermediates/classes") source = fileTree("src/main/java/") classpath = files() reports { xml.enabled = false html.enabled = true xml { destination file ("$project.buildDir/findbugs.xml") } html { destination file("$project.buildDir/findbugs.html") } } } android { lintOptions { checkReleaseBuilds false abortOnError false } compileSdkVersion 29 buildToolsVersion "29.0.2" sourceSets { main { jniLibs.srcDir 'libs' } // Move the tests to tests/java, tests/res, etc... //instrumentTest.setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } defaultConfig { applicationId "com.goodlive.flying" minSdkVersion 21 targetSdkVersion 29 versionCode 20180228 versionName "1.5.9" //versionName "1.5.2"正式版 // Enabling multidex support. multiDexEnabled true ndk { // 设置支持的SO库架构 abiFilters 'armeabi' , 'x86'//, 'armeabi-v7a', 'x86_64', 'arm64-v8a' } } dexOptions { javaMaxHeapSize "4g" } signingConfigs { release { storeFile file('.jks') storePassword "" keyAlias "" keyPassword "" // 满足下面两个条件时需要此配置 // 1. Gradle版本 >= 2.14.1 // 2. Android Gradle Plugin 版本 >= 2.2.0 // 作用是只使用旧版签名,禁用V2版签名模式 v2SigningEnabled false } debug { storeFile file('.jks') storePassword "" keyAlias "" keyPassword "" } } buildTypes { release { //启用混淆配置 //Zip代码压缩优化 // zipAlignEnabled true //移除无用资源 // shrinkResources true // debuggable true //加载默认混淆文件 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { //启用混淆配置 minifyEnabled false //Zip代码压缩优化 // zipAlignEnabled true //移除无用资源 // shrinkResources true //debugs使用release签名 //加载默认混淆文件 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(path: ':PushSDK') implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' // implementation files('libs/SocialSDK_WeiXin_Full.jar') //dagger2 implementation 'com.qianwen:update-app:3.3.3' implementation 'com.lzy.net:okgo:3.0.4' implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'androidx.cardview:cardview:1.0.0' implementation ('com.google.android.material:material:1.0.0'){ exclude group: 'com.android.support' } implementation ('com.jakewharton:butterknife:8.1.0'){ exclude group: 'com.android.support' } implementation 'com.android.support:multidex:1.0.3' implementation 'com.mcxiaoke.gradle:packer-helper:1.0.9' implementation ('com.github.bumptech.glide:glide:4.0.0-RC0'){ exclude group: 'com.android.support' } implementation 'com.tencent.bugly:crashreport_upgrade:1.4.2' //w implementation ('com.github.lygttpod:SuperTextView:1.0.7'){ exclude group: 'com.android.support' } implementation 'com.orhanobut:logger:1.15' //w implementation ('com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.13'){ exclude group: 'com.android.support' } implementation 'com.blankj:utilcode:1.3.1' implementation 'cn.finalteam:galleryfinal:1.4.8.7' implementation 'com.google.code.gson:gson:2.8.2' implementation 'org.greenrobot:eventbus:3.0.0' implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'com.roughike:bottom-bar:2.0.2' implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1' implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.4.1' implementation 'io.reactivex:rxandroid:1.2.1' implementation 'io.reactivex:rxjava:1.2.1' implementation 'com.squareup.retrofit2:retrofit:2.1.0' implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0' implementation 'com.squareup.retrofit2:converter-gson:2.1.0' implementation 'com.trello:rxlifecycle-components:0.6.1' implementation 'com.jakewharton.rxbinding:rxbinding:0.4.0' implementation 'com.jakewharton.rxbinding:rxbinding-appcompat-v7:0.3.0' implementation 'com.jakewharton.rxbinding:rxbinding-design:0.3.0' implementation 'com.facebook.stetho:stetho:1.5.0' implementation 'com.facebook.stetho:stetho-okhttp3:1.5.0' implementation 'com.lsjwzh:materialloadingprogressbar:0.5.8-RELEASE' implementation 'me.shaohui.advancedluban:library:1.3.3' implementation 'com.dinuscxj:recycleritemdecoration:1.0.0' implementation 'com.umeng.analytics:analytics:6.1.4' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.zhy:flowlayout-lib:1.0.3' implementation 'com.afollestad.material-dialogs:core:0.9.4.5' implementation 'com.google.dagger:dagger:2.11-rc2' implementation 'se.emilsjolander:stickylistheaders:2.7.0' testImplementation 'junit:junit:4.12' implementation 'com.bigkoo:quicksidebar:1.0.3' annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.1.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.11-rc2' implementation 'com.github.razerdp:BasePopup:1.9.1' implementation 'com.makeramen:roundedimageview:2.3.0' implementation("com.github.hotchemi:permissionsdispatcher:3.1.0") { // if you don't use android.app.Fragment you can exclude support for them exclude module: "support-v13" } annotationProcessor "com.github.hotchemi:permissionsdispatcher-processor:3.1.0" } ``` 求助大神啊 ```
android开发,界面突然颜色错乱
本人大四学生,做一个Android app作为毕业设计,边学边做,不知道哪里出了问题 在一次调试后,整个app在xml设置的颜色,会在app启动一段时间后突然变成透明的 java代码设置的颜色和动态生成的控件颜色没有受到影响 我的手机是vivo,android8.1.0 -----------------------------补充-------------------------------------- 这个问题时出现在我向主界面的一个fragment添加了一个横向的RecyclerView后出现的,如果去掉这个RecyclerView就不会有问题 这个RecyclerView是装填的cardview ![图片说明](https://img-ask.csdn.net/upload/201905/08/1557249528_291636.jpg)![图片说明](https://img-ask.csdn.net/upload/201905/08/1557249554_948870.jpg) 有大神知道这可能是什么原因导致的吗,救救孩子吧= = cardview代码item_game_card.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" xmlns:fresco="http://schemas.android.com/apk/res-auto" android:id="@+id/game_card" android:layout_width="90dp" android:layout_height="180dp" android:layout_margin="@dimen/dp_10" android:background="@color/colorPrimary" app:cardBackgroundColor="@color/color_light_blue" app:cardCornerRadius="@dimen/dp_10"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <lib.lhh.fiv.library.FrescoImageView android:id="@+id/card_game_icon" android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="center|top" android:layout_marginTop="15dp" fresco:actualImageScaleType="centerCrop" fresco:failureImage="@drawable/gamenicon" fresco:placeholderImage="@drawable/gamenicon" fresco:placeholderImageScaleType="centerCrop" /> <TextView android:id="@+id/card_game_name" android:layout_width="70dp" android:layout_height="wrap_content" android:layout_gravity="center|top" android:layout_marginTop="15dp" android:maxLines="1" android:text="GameName" android:textAlignment="center" android:textColor="@color/white" android:textSize="11sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/card_game_icon" /> <TextView android:id="@+id/card_game_size" android:layout_width="wrap_content" android:layout_height="15dp" android:layout_gravity="center|top" android:layout_marginTop="2dp" android:text="GameSize" android:textAlignment="center" android:textColor="@color/white" android:textSize="11sp" fresco:layout_constraintEnd_toEndOf="parent" fresco:layout_constraintStart_toStartOf="parent" fresco:layout_constraintTop_toBottomOf="@+id/card_game_icon" /> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_10"> <Button android:id="@+id/card_download" android:layout_width="70dp" android:layout_height="30dp" android:layout_gravity="center" android:alpha="0.1" android:background="@drawable/buttontranslucent" android:textColor="@android:color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/card_game_name" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="下载" android:textSize="12sp" app:layout_constraintBottom_toBottomOf="@+id/card_download" app:layout_constraintEnd_toEndOf="@+id/card_download" app:layout_constraintStart_toStartOf="@+id/card_download" app:layout_constraintTop_toTopOf="@+id/card_download" /> </FrameLayout> </LinearLayout> </android.support.v7.widget.CardView> ``` 控件绑定代码 ``` public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_main, container, false); loadingPage = view.findViewById(R.id.loading_page); cardRecyclerView = view.findViewById(R.id.card_recyclerview); new Handler().postDelayed(new Runnable() { @Override public void run() { loadingPage.removeAllViews(); loadingPage.setVisibility(View.GONE); } }, 3000); getServerData(10); colorLine = view.findViewById(R.id.color_line); getColor = view.findViewById(R.id.get_color); getColor.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast toast = Toast.makeText(getActivity(),String.valueOf(((ColorDrawable)colorLine.getBackground().mutate()).getColor()),Toast.LENGTH_SHORT); toast.show(); } }); mBanner = view.findViewById(R.id.banner); Btn_User = view.findViewById(R.id.main_userBtn); Btn_User.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getActivity(), UserActivity.class); startActivity(intent); } }); searchBox = view.findViewById(R.id.btn_search); //为搜索框添加点击事件 searchBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getActivity(), SearchActivity.class); startActivity(intent); } }); FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, ScreenUtil.getScreenWidth(this.getContext()) / 2); mBanner.setLayoutParams(layoutParams); //修改切换动画 //mBanner.setPageTransformer(Transformer.Default); initBanner(mBanner); initLocalImage(); return view; } ``` RecyclerView 数据装填代码 ``` public void initCardRecyclerViewData(List<SimpleGame> GameList){ //创建布局管理 LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); cardRecyclerView.setLayoutManager(layoutManager); mAdapter = new GameCardAdapter(R.layout.item_game_card, GameList); //设置重复执行动画 mAdapter.isFirstOnly(true); //设置分割线 mAdapter.setOnItemChildClickListener(this); mAdapter.setOnItemClickListener(this); cardRecyclerView.setAdapter(mAdapter); } ``` 适配器用的是CymChad的BaseRecyclerViewAdapterHelper
SwipeRefreshLayout和RecyclerView下拉图标不动
正常情况下拉后图标会弹回一个正常的位置然后开始转动,现在他都不弹回去一般的SwipeRefreshLayout和RecyclerView冲突解决方式我都试过了木有用,来个屌大的给俺看看呗,具体情况大概我下拉的时候好像同时也触发了一个上拉加载的事件,但是我把上拉加载关掉,下拉刷新依然还不回去 ![图片说明](https://img-ask.csdn.net/upload/201704/11/1491883681_99637.png) ![图片说明](https://img-ask.csdn.net/upload/201704/11/1491883709_804489.png) ![图片说明](https://img-ask.csdn.net/upload/201704/11/1491883718_959392.png) RefreshRecyclerView这个是我自己封装的一个recyleview 里面有解决swiperefreshlayout 和 RecyclerView 的滑动冲突 但是没卵用 public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if(lastVisibleItem == -1){ lastVisibleItem = 0; } Log.i("newState",RecyclerView.SCROLL_STATE_IDLE+" lastVisibleItem : "+lastVisibleItem+" getItemCount : "+adapter.getItemCount()); if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem + 1 >= adapter.getItemCount()) { if(mOnRefreshListener == null){ return; } mOnRefreshListener.onRefreshUp(); } } public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition(); if(swl_pl == null){ return; } //解决swiperefreshlayout 和 RecyclerView 的滑动冲突 int topRowVerticalPosition = (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop(); swl_pl.setEnabled(topRowVerticalPosition >= 0); }
CoordinatorLayout+nestedScollView+RecyclerView 导致的RecyclerView一次性加载所有数据的问题
CoordinatorLayout+nestedScollView+RecyclerView 会让RecyclerView一次性加载出所有的数据,item的复用也失效了,然后如果去掉nestedScollView的话 也是存在这个问题,又什么方法可能避免这种qing'kuang
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Android性能优化(4):UI渲染机制以及优化
文章目录1. 渲染机制分析1.1 渲染机制1.2 卡顿现象1.3 内存抖动2. 渲染优化方式2.1 过度绘制优化2.1.1 Show GPU overdraw2.1.2 Profile GPU Rendering2.2 卡顿优化2.2.1 SysTrace2.2.2 TraceView 在从Android 6.0源码的角度剖析View的绘制原理一文中,我们了解到View的绘制流程有三个步骤,即m...
微服务中的Kafka与Micronaut
今天,我们将通过Apache Kafka主题构建一些彼此异步通信的微服务。我们使用Micronaut框架,它为与Kafka集成提供专门的库。让我们简要介绍一下示例系统的体系结构。我们有四个微型服务:订单服务,行程服务,司机服务和乘客服务。这些应用程序的实现非常简单。它们都有内存存储,并连接到同一个Kafka实例。 我们系统的主要目标是为客户安排行程。订单服务应用程序还充当网关。它接收来自客户的请求...
致 Python 初学者们!
作者| 许向武 责编 | 屠敏 出品 | CSDN 博客 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 Python 这门编程语言,从2009年开始单一使用 Python 应对所有的开发工作,直至今...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置
Spring Boot默认内嵌的Tomcat为Servlet容器,关于Tomcat的所有属性都在ServerProperties配置类中。同时,也可以实现一些接口来自定义内嵌Servlet容器和内嵌Tomcat等的配置。 关于此配置,网络上有大量的资料,但都是基于SpringBoot1.5.x版本,并不适合当前最新版本。本文将带大家了解一下最新版本的使用。 ServerProperties的部分源...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
爬取薅羊毛网站百度云资源
这是疫情期间无聊做的爬虫, 去获取暂时用不上的教程 import threading import time import pandas as pd import requests import re from threading import Thread, Lock # import urllib.request as request # req=urllib.request.Requ...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
HTML5适合的情人节礼物有纪念日期功能
前言 利用HTML5,css,js实现爱心树 以及 纪念日期的功能 网页有播放音乐功能 以及打字倾诉感情的画面,非常适合情人节送给女朋友 具体的HTML代码 具体只要修改代码里面的男某某和女某某 文字段也可自行修改,还有代码下半部分的JS代码需要修改一下起始日期 注意月份为0~11月 也就是月份需要减一。 当然只有一部分HTML和JS代码不够运行的,文章最下面还附加了完整代码的下载地址 &lt;!...
相关热词 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数 c#日期精确到分钟 c#自定义异常必须继承 c#查表并返回值 c# 动态 表达式树 c# 监控方法耗时 c# listbox c#chart显示滚动条
立即提问