如何将 AlertDialog 更改为意图移动到另一个活动

Posted

技术标签:

【中文标题】如何将 AlertDialog 更改为意图移动到另一个活动【英文标题】:how to change AlertDialog to intent to move to another activity 【发布时间】:2021-11-12 08:18:14 【问题描述】:

我尝试了各种方法,但不能,直到我停在这里,我自己尝试了一个 Intent (Intent intent = new Intent) 现在我已经使用了这个方法,但它不起作用然后我'还创建了一个新活动,但它也不起作用

@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) 
    View view= LayoutInflater.from(context).inflate(R.layout.item,viewGroup,false);
    return new MyViewHolder(view);


@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) 
    MyViewHolder item=(MyViewHolder) viewHolder;
    User user=list.get(i);

    item.getName().setText(user.getName());

    Button edit = item.itemView.findViewById(R.id.edit);
    edit.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            final View mView = LayoutInflater.from(context).inflate(R.layout.activity_update, null);
            AlertDialog alertDialog = new AlertDialog.Builder(context)
                    .setView(mView)
                    .show();

            final DaoSession daoSession;
            daoSession = ((MyApp) ((Activity) context).getApplication()).getDaoSession();

            Button editupd = alertDialog.findViewById(R.id.submitupdate);
            editupd.setOnClickListener(new View.OnClickListener() 
                @Override
                public void onClick(View v) 
                    UserDao userDao = daoSession.getUserDao();
                    User user1 = new User();
                    EditText name = mView.findViewById(R.id.name);
                    EditText address = mView.findViewById(R.id.address);
                    Button updt = mView.findViewById(R.id.submitupdate);

                    user1.setId(user.getId());
                    user1.setName(name.getText().toString());
                    user1.setAddress(address.getText().toString());
                    userDao.update(user1);
                
            );
        
    );

 
    Log.e("name",user.getName());



@Override
public int getItemCount() 

    return list.size();

【问题讨论】:

你的意图 startActivity 代码在哪里? 这里了解详细信息[github.com/ahmadfariz/Note/tree/master/app/src/main/java/com/…,实际上我很困惑如何解释它,我只是制作了一个编辑数据视图,就像使用意图输入数据一样 【参考方案1】:

如果您尝试在单击按钮时启动 AnotherActivity,请更改您的 onClick 方法,例如:

Button edit = item.itemView.findViewById(R.id.edit);
edit.setOnClickListener(new View.OnClickListener() 
    @Override
    public void onClick(View v) 
        // Start your activity
        Context context = v.getContext();
        Intent intent = new Intent(context, AnotherActivity.class);
        context.startActivity(intent);
    
);

【讨论】:

以上是关于如何将 AlertDialog 更改为意图移动到另一个活动的主要内容,如果未能解决你的问题,请参考以下文章

将图表从单元格范围更改为命名范围

如何移动相对符号链接?

如何将大屏幕图像下的 figcaption 位置更改为移动图像右侧?

如何通过意图将数据从静态方法发送到另一个类?

AlertDialog中的选项卡式Viewpager

如何将应用程序的布局更改为 LandScape 以及如何使应用程序的布局适应移动设备和平板电脑