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>

未跳转时界面
未跳转时界面
效果,点击item跳转到另一个界面之后,界面显示与XX聊天,XX是由item中获取的
效果,点击item跳转到另一个界面之后,界面显示与XX聊天,XX是由item中获取的

5个回答

RecyclerView中点击item跳转到其他Activity并显示item内容如何实现?
分开来讲:
1,RecyclerView中点击item,看代码你已经实现了。
2,跳转到其他Activity,看代码你也已经实现了。
3,跳转到其他Activity并显示item内容(数据处理)
// Intent intent=new Intent();
// Intent intent=new Intent(mContext,ChatActivity.class);
// intent.putExtra("friend",msg.getFriend().toString());
// mContext.startActivity(intent);
我看到有这样一段代码,这段代码的功能就是给intent put了一个key为"friend"的String,你的msg.getFriend()应该是个对象
(如果是个String就不用再toString()了),但是你这个msg.getFriend().toString(),所表现的意图应该是将这个对象传递进去,
但是你用toString()函数来作为String的具体内容,你传递过去后即便是可以接收到(通过getIntent().getExrea("friend",..)的方式),
也是很难解析的,所以你的问题应该就是这个数据的传递和解析的过程。
这里可以给你3个思路,
a.还是利用intent,只不过将msg.getFriend()这个对象获取到,然后将里面的值一个一个的通过intent.putExtra(...)的方式传递过去,
再在那边通过getIntent().getExrea(...)的方式获取再读取。
b.直接将msg.getFriend()对象序列化(两种方式可以自行百度),然后还是可以通过ntent.putExtra(...)的方式传递过去,在那边就可以
通过getIntent().getParcelableExtra();/getIntent().getSerializableExtra()两种方式之一获取(取决于你的序列化方式)。
c.通过Gson等Json数据处理框架将对象序列化转换为String后,以第a方式的String类型传递过去,再在那边使用Gson进行String转对象的
操作进行反序列化即可。
4,跳转到其他Activity并显示item内容(界面处理)
有了上一步的数据之后,显示就很简单了。
5,另外的方式:以单例或静态修饰或者持久化等方式,使两个Activity能共同访问的统一资源,也能够实现同样的效果,只不过一般来讲
还是上面的intent数据传递比较规范一些,具体原因就不解释了。

adapter的构造方法加个参数Context,将activity带进来,至于如何跳转,你的onclick方法中注释掉的就是了

RecyclerView的条目点击事件,获取到当前点击条目的信息,然后跳转的时候带参数,到新界面读取就行了

L_hbnb
风棘子 大神能不能上一下代码例子
大约一个月之前 回复

你是如何实现不同的item来展示不同的好友,你的布局文件已经定义了指定text 而且没有循环你如何使item重复展示的?求大佬指点

我按你的代码写完为什么界面转不了?程序自动停止运行。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
RecyclerView子item点击跳转activity怎么加上过场动画?

在adapter中的onBindViewHolder( )方法中用了 ActivityOptionsCompat compat = ActivityOptionsCompat.makeSceneTransitionAnimation(mContext,view,"cover"); 运行后报错: java.lang.ClassCastException: android.app.Application cannot be cast to android.app.Activity

点击RecyclerView瀑布流布局中的图片item跳转到下一个activity

![图片说明](https://img-ask.csdn.net/upload/202004/16/1587024417_50235.jpg) 这是activity ``` package com.example.listview.Menu; import android.content.Intent; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import com.example.listview.R; import com.example.listview.Menu.MenuActivity; import com.example.listview.Pay.PayActivity; import com.example.listview.Menu.MenuAdapter; import com.example.listview.table.TMenu; import com.example.listview.Windows; import org.litepal.crud.DataSupport; import java.util.ArrayList; import java.util.List; public class MenuActivity extends AppCompatActivity { private MenuAdapter menuAdapter; private RecyclerView mRv; //private OnItemClickListener mOnItemClickListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.menu_activity); ActionBar actionBar=getSupportActionBar(); if(actionBar!=null){ actionBar.hide(); } initMenus();//初始化数据 RecyclerView recyclerView=(RecyclerView) findViewById(R.id.rv); StaggeredGridLayoutManager layoutManager=new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL);//P128瀑布流布局 recyclerView.setLayoutManager(layoutManager); MenuAdapter madapter=new MenuAdapter(menuList); recyclerView.setAdapter(madapter); madapter.setOnItemClick(new MenuAdapter.OnItemClickListener() { @Override public void OnItemClick(View v, int position, String id) { Intent intent = new Intent(MenuActivity.this, PayActivity.class); /*传ID在Main2Activity接受*/ /* intent.putExtra("id",id);*/ startActivity(intent); } }); /*adapter.setOnItemClickListener(new MenuAdapter.OnItemClickListener() { @Override public void onItemClick(View view, int position) { //String masterPic = show.getResult().get(position).getMasterPic(); //String name = show.getResult().get(position).getCommodityName(); //String price =show.getResult().get(position).getPrice(); Intent intent = new Intent(MenuActivity.this, PayActivity.class); //intent.putExtra("cid",masterPic); //intent.putExtra("name",name); //intent.putExtra("price",price); startActivity(intent); } });*/ } private List<Menu> menuList =new ArrayList<>(); private void initMenus() { List<TMenu> menus = DataSupport.select("name", "price","store","foodid","picture").find(TMenu.class); for (TMenu menu : menus) { int resID = getResources().getIdentifier(menu.getPicture(), "drawable", "com.example.listview"); Menu canteen=new Menu(menu.getName(),resID); menuList.add(canteen); } } } ``` 这是Adapter ``` package com.example.listview.Menu; /** * Created by Administrator on 2019/4/3 0003. */ import android.content.Context; import android.content.Intent; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.example.listview.R; import com.example.listview.Pay.PayActivity; import com.example.listview.Menu.Menu; import com.example.listview.Menu.MenuAdapter; import java.util.List; /** * Created by Administrator on 2019/2/8 0008. */ public class MenuAdapter extends RecyclerView.Adapter<MenuAdapter.ViewHolder>{ private List<Menu> mMenuList; private Context mcontext; private OnItemClickListener mOnItemClickListener; OnItemClickListener listener; public interface OnItemClickListener { public void onItemClick(View v, int position); } public void setOnItemClick(OnItemClickListener listener) { this.listener=listener; } static class ViewHolder extends RecyclerView.ViewHolder { View fruitView; ImageView fruitImage; TextView fruitName; public ViewHolder(View view) { super(view); fruitView = view; fruitImage = (ImageView) view.findViewById(R.id.fruit_image); fruitName = (TextView) view.findViewById(R.id.fruit_name); } } public MenuAdapter(List<Menu> menuList) { mMenuList = menuList; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.menu_item, parent, false); final ViewHolder holder = new ViewHolder(view); holder.fruitView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int position = holder.getAdapterPosition(); Menu menu = mMenuList.get(position); //Intent intent=new Intent(MenuActivity.this,PayActivity.class); //startActivity(intent); Toast.makeText(v.getContext(), "you clicked view" + menu.getName(), Toast.LENGTH_SHORT).show(); } }); holder.fruitImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //mOnItemClickListener.onItemClick(v, position); //Intent intent=new Intent(); //Intent intent=new Intent(Context,PayActivity.class); //intent.putExtra("friend",msg.getFriend().toString()); //Context.startActivity(intent); //int position = holder.getAdapterPosition(); //Menu menu = mMenuList.get(position); //Toast.makeText(v.getContext(), "you clicked image" + menu.getName(), Toast.LENGTH_SHORT).show(); } }); return holder; } @Override public void onBindViewHolder(ViewHolder holder,int position){ Menu menu = mMenuList.get(position); holder.fruitImage.setImageResource(menu.getImageId()); holder.fruitName.setText(menu.getName()); holder.fruitImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(listener!=null){ /*注意参数*/ listener.OnItemClick(v,position); } } }); } @Override public int getItemCount(){ return mMenuList.size(); } } ```

Recyclerview点击item跳转页面报空指针

public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recy_view_item,viewGroup,false); final ViewHolder holder = new ViewHolder(view); //点击事件 holder.relesaTitle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context,NRCommunityActivity.class); context.startActivity(intent); } }); return holder; } 报错: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

点击listview中的item跳转并获取item中的内容出现的问题

![![图片说明](https://img-ask.csdn.net/upload/201603/15/1458044910_116397.png)图片说明](https://img-ask.csdn.net/upload/201603/15/1458044899_583784.png)一用settext()里面写上title就出错了 打印出来的title desc确实传递到另一个activity了

怎样实现点击Recycler的item,跳到相应的activity?

怎样实现点击Recycler的item,跳到相应的activity?试了下,不能在adapter里用平常的按钮点击跳转activity。

android 两个页面都用recyclerview,一个正常,另一个报错

第一个页面(没问题) ``` @BindView(R.id.title_tv) TextView titleTv; @BindView(R.id.recycler) RecyclerView recyclerView; @BindView(R.id.refresh) SwipeRefreshLayout refreshLayout; @BindView(R.id.no_details) LinearLayout noDetails; List<WalletDetailsBean.ResultBean.ListBean> transactionList = new ArrayList<WalletDetailsBean.ResultBean.ListBean>(); private TransactionListAdapter adapter; private String token; private int page = 1; .... protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wallet_details); ButterKnife.bind(this); Intent intent = getIntent(); if(intent != null){ token = intent.getStringExtra("token") != null ? intent.getStringExtra("token") : " "; } initTitle(); initView(); initData(token); } .... private void initView() { refreshLayout.setOnRefreshListener(this); refreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); refreshLayout.setProgressBackgroundColor(R.color.refresh_bg); initListView(); } private void initListView() { layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(layoutManager); adapter = new TransactionListAdapter(this, transactionList); recyclerView.setAdapter(adapter); recyclerView.setBackgroundColor(Color.WHITE); // 第一次进入页面的时候显示加载进度条 refreshLayout.setProgressViewOffset(true, 0, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics())); refreshLayout.setRefreshing(true); //滚动监听 recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem + 1 == adapter.getItemCount()) { refreshLayout.setRefreshing(true); page++; if (page <= totalPage) { //根据后台接口 判断当前页是否小于总页 L.e("pageNo:" + page + ",totalPage:" + totalPage); queryTransactionDetails(MywalletDetailActivity.this,token,page); showToast(getResources().getString(R.string.loading)); } else { refreshLayout.setRefreshing(false); showToast(getString(R.string.no_more_data)); } } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); lastVisibleItem = layoutManager.findLastVisibleItemPosition(); } }); } ``` 两个页面的xml文件都差不多: ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> ... <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/refresh" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler" android:paddingTop="@dimen/common_10" android:background="#eaeaea" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> </LinearLayout> ``` 第二个页面: ``` @BindView(R.id.title_tv) TextView titleTv; @BindView(R.id.no_schedule_ll) LinearLayout noScheduleLl; @BindView(R.id.recycler) RecyclerView recyclerView; @BindView(R.id.refresh_myschedule) SwipeRefreshLayout refreshLayout; ... @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_schedule); ButterKnife.bind(this); withRefreshView = setRefreshView(); intent = getIntent(); userid = intent.getStringExtra("userid"); token = intent.getStringExtra("token"); initView(); loadFromNet(token,pageNo); } /** * 初始化控件 */ private void initView() { titleTv.setText(getResources().getString(R.string.my_schedule)); needHelp.setVisibility(View.VISIBLE); needHelp.setText(getResources().getString(R.string.need_help)); refreshLayout.setOnRefreshListener(this); refreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); refreshLayout.setProgressBackgroundColor(R.color.refresh_bg); refreshLayout.setRefreshing(true); /* * 第一次进入页面的时候显示加载进度条 */ refreshLayout.setProgressViewOffset(true, 0, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics())); refreshLayout.setRefreshing(true); initListView(); } private void initListView() { recyclerView.setItemAnimator(new DefaultItemAnimator());//设置item动画 recyclerView.setHasFixedSize(true); //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 //创建默认的线性LayoutManage layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(layoutManager); recyclerView.setBackgroundColor(Color.WHITE); recyclerView.addItemDecoration(new MyDecoration(this, MyDecoration.VERTICAL_LIST));//自定义的分隔线 adapter = new ScheduleAdapter(this, scheduleList); adapter.setOnItemClickListener(new ScheduleAdapter.OnItemClickListener() { @Override public void onItemClick(View view, int position) { startActivity(new Intent(MyScheduleActivity.this, ShowWebViewActivity.class) .putExtra("title",getResources().getString(R.string.riding_details_title)) .putExtra("share",getResources().getString(R.string.riding_details_share)) .putExtra("url", Url.getMyScheduleDetailUrl(true) + "?token=" + token +"&id=" + rideId)); } }); adapter.setOnItemLongClickListener(new ScheduleAdapter.OnItemLongClickListener() { @Override public void onItemLongClick(View view, int position) { } }); recyclerView.setAdapter(adapter); recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem + 1 == adapter.getItemCount()) { refreshLayout.setRefreshing(true); pageNo++; if (pageNo <= totalPage) { //根据后台接口 判断当前页是否小于总页 L.e("pageNo:" + pageNo + "newsTotalPage:" + totalPage); loadFromNet(token, pageNo); showToast(getResources().getString(R.string.loading)); } else { refreshLayout.setRefreshing(false); showToast(getString(R.string.no_more_data)); } } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); lastVisibleItem = layoutManager.findLastVisibleItemPosition(); } }); } ``` 跳转到第一个页面正常显示列表,跳转到第二个页面的时候报错 ![图片说明](https://img-ask.csdn.net/upload/201703/26/1490522733_865990.png) 请问是怎么回事,看了一天了还是看不出所以然来。 谢谢~

尝试使用Intent跳转至新Activity时程序停止运行

``` package com.level1.yukinoshita.swan0; import android.content.Intent; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.view.View; import android.support.design.widget.NavigationView; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import com.level1.yukinoshita.fragment.Fragment_autocharge; import com.level1.yukinoshita.fragment.Fragment_replyaction; import com.level1.yukinoshita.fragment.Fragment_searchall; import com.level1.yukinoshita.fragment.Fragment_socialaction; import com.level1.yukinoshita.fragment.Fragment_socialuser; import com.level1.yukinoshita.fragment.Fragment_userfavor; public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { // private RecyclerView contentRecyclerView; // private List<String> recycleViewData; // private RecycleViewSimpleAdapter contentRecyclerViewAdapter; private static final int STACK=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle(""); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "正在刷新", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); } @Override public void onBackPressed() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { // Handle navigation view item clicks here. int id = item.getItemId(); if (id == R.id.nav_socialuser) { // 分配对应Fragment Fragment_socialuser fragment = new Fragment_socialuser(); getFragmentManager().beginTransaction().replace(R.id.main_contentview, fragment).commit(); } else if (id == R.id.nav_socialaction) { Fragment_socialaction fragment = new Fragment_socialaction(); getFragmentManager().beginTransaction().replace(R.id.main_contentview, fragment).commit(); } else if (id == R.id.nav_autocharge) { Fragment_autocharge fragment = new Fragment_autocharge(); getFragmentManager().beginTransaction().replace(R.id.main_contentview, fragment).commit(); } else if (id == R.id.nav_replyaction) { Fragment_replyaction fragment = new Fragment_replyaction(); getFragmentManager().beginTransaction().replace(R.id.main_contentview, fragment).commit(); } else if (id == R.id.nav_userfavor) { Fragment_userfavor fragment = new Fragment_userfavor(); getFragmentManager().beginTransaction().replace(R.id.main_contentview, fragment).commit(); } else if (id == R.id.nav_searchall) { Fragment_searchall fragment = new Fragment_searchall(); getFragmentManager().beginTransaction().replace(R.id.main_contentview, fragment).commit(); } else if (id == R.id.nav_settings) { // 使用Activity Intent intent = new Intent(this, Activity_settings.class); startActivity(intent); } else if (id == R.id.nav_developer) { // 使用Activity } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); return true; } } ``` 报错信息如下 04-15 01:34:22.769 6114-6114/com.level1.yukinoshita.swan0 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.level1.yukinoshita.swan0, PID: 6114 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.level1.yukinoshita.swan0/com.level1.yukinoshita.swan0.Activity_settings}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1794) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1512) at android.app.Activity.startActivityForResult(Activity.java:3917) at android.app.Activity.startActivityForResult(Activity.java:3877) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:842) at android.app.Activity.startActivity(Activity.java:4200) at android.app.Activity.startActivity(Activity.java:4168) at com.level1.yukinoshita.swan0.MainActivity.onNavigationItemSelected(MainActivity.java:125) at android.support.design.widget.NavigationView$1.onMenuItemSelected(NavigationView.java:151) at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:811) at android.support.v7.view.menu.SubMenuBuilder.dispatchMenuItemSelected(SubMenuBuilder.java:84) at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152) at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:958) at android.support.design.internal.NavigationMenuPresenter$1.onClick(NavigationMenuPresenter.java:318) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 04-15 01:34:24.908 6114-6114/com.level1.yukinoshita.swan0 I/Process: Sending signal. PID: 6114 SIG: 9

想用intent开始另外一个活动,编译没有报错,并且能够显示第一个活动

这是我自己做的一个小实验,想通过点击按键事件来打开第二个活动,可是运行的时候有按键打开第二活动的动作时候,程序就自动退出了,不晓得为什么。 public class FruitTitleFragment extends Fragment { public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fruit_title,container,false); return view; } static class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder>{ List<Fruit> FruitList; class ViewHolder extends RecyclerView.ViewHolder{ ImageView FruitImage; TextView FruitTitle; View FruitView; public ViewHolder(View view){ super(view); FruitImage = (ImageView) view.findViewById(R.id.fruit_picture); FruitTitle = (TextView) view.findViewById(R.id.fruit_title); FruitView = view; } } public FruitAdapter(List<Fruit> FruitList){ this.FruitList = FruitList; } public FruitAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { final Context context = parent.getContext(); final View view = LayoutInflater.from(context).inflate(R.layout.fruit_item,parent,false); final ViewHolder holder = new ViewHolder(view); holder.FruitView.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { int position = holder.getAdapterPosition(); Fruit fruit = FruitList.get(position); actionStart(context,fruit.getFruit_Produce(),fruit.getFruit_Name()); } }); return holder; } public void onBindViewHolder(FruitAdapter.ViewHolder holder, int position) { Fruit fruit = FruitList.get(position); holder.FruitTitle.setText(fruit.getFruit_Name()); holder.FruitImage.setImageResource(fruit.getFruit_image_Resource()); } public int getItemCount() { return FruitList.size(); } } public static void actionStart(Context context,String fruit_produce,String fruit_name){ Intent intent = new Intent(context,FruitProduce.class); intent.putExtra("produce",fruit_produce); intent.putExtra("name",fruit_name); context.startActivity(intent); } } 在一个活动里,我用Toast测试过,按键是可以正常发挥作用的,问题应该就是出在intent打开第二个活动那里。

Android 中写了一个listview,运行就闪退

一个MainActivity中有三个Fragment(其中有个为MovieFrament),下面这个ViewingFragment是MovieFragment中的一个嵌套的Fragment package com.example.movie; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterViewFlipper; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * A simple {@link Fragment} subclass. */ public class ViewingFragment extends Fragment { private ListView listView; private List<Movie2> movieList; private List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>(); public ViewingFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_viewing,container,false); listView = (ListView) view.findViewById(R.id.mov_listview); movieList=initmovies(movieList); for (int i = 0; i < movieList.size(); i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("name", movieList.get(i).getName()); map.put("imageId", movieList.get(i).getImageId()); map.put("director", movieList.get(i).getDirector()); map.put("charactors", movieList.get(i).getCharactors()); data.add(map); } SimpleAdapter adapter = new SimpleAdapter(getParentFragment().getActivity(), data, R.layout.movie2_item, new String[]{ "name", "imageId", "director" ,"charactors"}, new int[]{ R.id.txt_name, R.id.imageId, R.id.txt_director, R.id.txt_charactors}); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //我们需要的内容,跳转页面或显示详细信息 Intent intent=new Intent(getActivity(),Mov_InfActivity.class); startActivity(intent); } }); return view; } private static List<Movie2> initmovies(List<Movie2> movieList) { Movie2 apple = new Movie2("悲伤逆流成河", R.mipmap.beishang,"导演:落落","主演:赵英博 任敏 辛云来"); movieList.add(apple); Movie2 banana = new Movie2("新灰姑娘", R.mipmap.huigul,"导演:琳恩.萨瑟兰","主演:Kristen"); movieList.add(banana); Movie2 orange = new Movie2("李茶的姑妈", R.mipmap.licha,"导演:吴昱翰","主演:黄才伦 艾伦 宋阳"); movieList.add(orange); Movie2 watermelon = new Movie2("胖子行动队", R.mipmap.pangzi,"导演:包贝尔 秦小珍","主演:包贝尔 文章 克拉拉"); movieList.add(watermelon); Movie2 pear = new Movie2("无双", R.mipmap.wushuang,"导演:庄文强","主演:周润发 郭富城 张静初"); movieList.add(pear); Movie2 grape = new Movie2("嘻哈英熊", R.mipmap.xiha,"导演:王琦","主演:林强 刘康 徐梦娟"); movieList.add(grape); Movie2 pineapple = new Movie2("影", R.mipmap.ying,"导演:张艺谋","主演:邓超 孙俪 郑恺"); movieList.add(pineapple); Movie2 strawberry = new Movie2("找到你", R.mipmap.zhaodaoni,"导演:吕乐","主演:姚晨 马伊俐 袁文康"); movieList.add(strawberry); return movieList; } }

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

C++11:一些微小的变化(新的数据类型、template表达式内的空格、nullptr、std::nullptr_t)

本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要 一、Template表达式内的空格 C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了 例如: vector&lt;list&lt;int&gt; &gt;; //C++11之前 vector&lt;list&lt;int&gt;&gt;; //C++11 二、nullptr ...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

【阿里P6面经】二本,curd两年,疯狂复习,拿下阿里offer

二本的读者,在老东家不断学习,最后逆袭

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

作者 | 伍杏玲出品 | CSDN(ID:CSDNnews)格子衬衫、常掉发、双肩包、修电脑、加班多……这些似乎成了大众给程序员的固定标签。近几年流行的“跨界风”开始刷新人们对程序员的...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

2020春招面试了10多家大厂,我把问烂了的数据库事务知识点总结了一下

2020年截止目前,我面试了阿里巴巴、腾讯、美团、拼多多、京东、快手等互联网大厂。我发现数据库事务在面试中出现的次数非常多。

程序员如何与产品经理优雅的干架

早前,平安产险科技一名外包程序员和一名外包产品经理干架的视频几乎在互联网圈都传遍了,因为产品提了一个需求:要求用户App的主题颜色能根据手机壳自动调整。 首先说这个需求对于应用开发工程师来说,确实是有点奇葩,当然并非不能实现。这块涉及图形图像处理,用机器学习和人工智能来提取图像颜色,这是基本图像识别过程,对于采集图像,可以提示对着镜子自拍一张,上传图片,通过大量的训练数据,来识别手机体颜色。当然并...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

自学编程的 6 个致命误区

嗨,小伙伴们大家好,我是沉默王二。本篇文章来和大家聊聊自学编程中的一些误区——这是我在 B 站上看了羊哥的一期视频后有感而发的文章。因为确实有很多读者也曾私信问过我这些方面的问题,很有代表性,所以我就结合自己的亲身体会来谈一谈,希望对小伙伴们有所启发。 01、追求时髦 所谓基础不牢,地动山摇啊。可很多小伙伴压根就没注意过这个问题,市面上出什么新鲜的技术就想去尝试,结果把自己学的乱七八糟,心灰意冷...

安卓App太能乱来了!被曝一天扫你后台1.3万次:小米系统更新,一不小心扯出惊人真相...

晓查 乾明 发自 凹非寺量子位 报道 | 公众号 QbitAI安卓乱象,所有人都是知道的。但你知道到底有多乱么?现在,我们这些普通用户,也能定量分析检测了。真相,可能比想象中还严重。来看...

祝贺玄姐,创业两个月,估值近亿,融资几千万,奈学教育,太牛逼了!!!...

玄姐,男,前58同城技术委员会主席,前转转首席架构师,我的10年好友。一月下旬,玄姐找到我,说,哥们我准备创业了。画外音:详见《最好的朋友创业了,我必须为他站台》。番外篇《为何大家都叫...

立即提问
相关内容推荐