簡體   English   中英

無法使用Intent啟動新活動

[英]Unable to start new activity using Intent

我正在調用一個活動,還將值從適配器轉移到下一個活動,這些值已轉移但無法啟動該活動,並且也沒有錯誤,只是下一個活動沒有打開

持有人:

public class ContactReadHolder extends RecyclerView.ViewHolder {

    TextView contactName, contactPhone;
    ImageButton contactCall;
    public ContactReadHolder(View itemView) {
        super(itemView);

        context =itemView.getContext();

        contactName = (TextView) itemView.findViewById(R.id.contact_list_name);
        contactPhone = (TextView) itemView.findViewById(R.id.contact_list_phone);
        contactCall = (ImageButton) itemView.findViewById(R.id.contact_list_call);
    }
}

這是我的適配器代碼,我在onBindViewHolder中阻止了列表器,但仍然無法正常工作,而且我也在Holder類中嘗試過

適配器:

public class ContactReadAdapter extends RecyclerView.Adapter<ContactReadAdapter.ContactReadHolder> {

    private LayoutInflater layoutInflater;
    private List<ContactListModel> contactListModelList;
    private Context context;

    public ContactReadAdapter(List<ContactListModel> contactListModelList, Context context) {

        this.contactListModelList = contactListModelList;
        this.context = context;
    }


    @NonNull
    @Override
    public ContactReadHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        layoutInflater = LayoutInflater.from(context);
        View view = layoutInflater.inflate(R.layout.abc_contact_layout, parent, false);

        ContactReadHolder contactReadHolder = new ContactReadHolder(view);
        return contactReadHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull final ContactReadHolder holder, int position) {

        final TextView contactName, contactPhone;

        contactName = holder.contactName;
        contactPhone = holder.contactPhone;

        contactName.setText(contactListModelList.get(position).getModel_contact_name());
        contactPhone.setText(contactListModelList.get(position).getModel_contact_phone());

        holder.contactCall.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Log.d("duit","clicked ");
                Intent intent=new Intent(context,OutgoingCallActivity.class);
                String string_contactName=holder.contactName.getText().toString();
                String string_contactPhone=holder.contactPhone.getText().toString();

                Log.d("duit","clicked " + string_contactName +" "+  string_contactPhone);
                intent.putExtra("user_name",string_contactName);
                intent.putExtra("calleeNumber", string_contactPhone);

                context.startActivity(intent);
            }
        });
    }

    @Override
    public int getItemCount() {
        return contactListModelList.size();
    }

嘗試這個

 Intent intent=new Intent(v.getContext(),OutgoingCallActivity.class);
 // put extra methods
 v.getContext().startActivity(intent);

寫下您對onBindViewHolder功能onclicklistener,它會工作。

       Intent intent=new Intent(contactName.getContext(),OutgoingCallActivity.class);
        String string_contactName=holder.contactName.getText().toString();
        String string_contactPhone=holder.contactPhone.getText().toString();

        Log.d("duit","clicked " + string_contactName +" "+  string_contactPhone);
        intent.putExtra("user_name",string_contactName);
        intent.putExtra("calleeNumber", string_contactPhone);

        contactName.getContext().startActivity(intent);

要么

               Intent intent=new Intent(holder.contactName.getContext(),OutgoingCallActivity.class);
            String string_contactName=holder.contactName.getText().toString();
            String string_contactPhone=holder.contactPhone.getText().toString();

            Log.d("duit","clicked " + string_contactName +" "+  string_contactPhone);
            intent.putExtra("user_name",string_contactName);
            intent.putExtra("calleeNumber", string_contactPhone);

            holder.contactName.getContext().startActivity(intent);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM