نمایش نتایج 1 تا 11 از 11

نام تاپیک: مشکل در دست یابی به EditText در DialogFragment

  1. #1

    مشکل در دست یابی به EditText در DialogFragment

    سلام

    من یه CustomDialog دارم که یک EditText و یک RecyclerView داخلشه با یک Adaper که RecyclerView مقدار هی میکنه میخوام وقتی روش کلیک کنم مثلا در EditText مقدار دهی شه حالا هر کاری تو Adapter انجام میدم خطا میده



    E/AndroidRuntime: FATAL EXCEPTION: main
    java.lang.NullPointerException
    at com.example.m.myapplication.Adaper.AdaperAgentList $1.onClick(AdaperList.java:70)

  2. #2

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    خط 70 هموجایی که EditText رو مقدار میکنم

  3. #3

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    نقل قول نوشته شده توسط Accidentboy مشاهده تاپیک
    خط 70 هموجایی که EditText رو مقدار میکنم
    شما که برنامه ای قرار ندید که حالا ما بدونیم که خط 70 چی هست؟؟؟؟
    ولی ظاهرا به این اشاره داره که اون آبجکتی که متد onClick را براش فراخوانی کردید مقداری نداره Null هست.!

  4. #4

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    شما که برنامه ای قرار ندید که حالا ما بدونیم که خط 70 چی هست؟؟؟؟
    ولی ظاهرا به این اشاره داره که اون آبجکتی که متد onClick را براش فراخوانی کردید مقداری نداره Null هست.!
    شرمنده


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


    holder.agent_Code.setText( agentFiltered.get(position).getId());
    holder.agent_Name.setText(agentFiltered.get(positi on).getUsername());


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

    G.agentCode =holder.agent_Code.getText().toString();

    G.agentName = holder.agent_Name.getText().toString();



    holder.searchAgent.setText(holder.agent_Name.getTe xt().toString());

    }
    });



    }



  5. #5

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    باید تو کلاس viewHolder که تو متد onCreateViewHolder دارید ایجاد میکنید باید به این شی holder.itemView ویویی که می خواهید را Bind کنید یعنی اگر ویجت ویویی بر روی لایه xml تون هست با findviewByID بهش باید مقدار داده باشید که null نباشه.!

  6. #6

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    باید تو کلاس viewHolder که تو متد onCreateViewHolder دارید ایجاد میکنید باید به این شی holder.itemView ویویی که می خواهید را Bind کنید یعنی اگر ویجت ویویی بر روی لایه xml تون هست با findviewByID بهش باید مقدار داده باشید که null نباشه.!

    public class MyViewHolder extends RecyclerView.ViewHolder {
    private TextView agent_Name,agent_Code;

    public EditText searchAgent;
    public RecyclerView agentrecyclerView;
    public MyViewHolder(View itemView) {
    super(itemView);
    agent_Name=(TextView) itemView.findViewById(R.id.agentname);
    agent_Code=(TextView) itemView.findViewById(R.id.agentcode);

    searchAgent=(EditText) itemView.findViewById(R.id.searchAgent);
    agentrecyclerView=(RecyclerView) itemView.findViewById(R.id.agentrecyclerView);
    }
    }

    ببخشید من اندروید وارد نیستم کدی که تو viewHolder نوشتم هستش .. چجوری باید Bind کنم ..



    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view= LayoutInflater.from(context).inflate(R.layout.layo ut_agent_list,parent,false);

    return new MyViewHolder(view);
    }

  7. #7

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    لطفا کد این کلاس که اینجا instance گرفتید بذارید new MyViewHolder(view) هرچی تو اون هست !یعنی همین کلاس MyViewHolder

  8. #8

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    این کلا کد Adapter هستش

    package com.example.m.myapplication.Adaper;

    import android.content.Context;
    import android.support.annotation.NonNull;
    import android.support.v7.widget.RecyclerView;
    import android.text.Layout;
    import android.view.LayoutInflater;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.EditText;
    import android.widget.Filter;
    import android.widget.Filterable;
    import android.widget.TextView;
    import android.widget.Toast;

    import com.example.m.myapplication.G;
    import com.example.m.myapplication.MainActivity;
    import com.example.m.myapplication.R;
    import com.example.m.myapplication.RegisterActivity;
    import com.example.m.myapplication.model.User;
    import com.example.m.myapplication.model.UsersAgent;

    import java.util.ArrayList;
    import java.util.List;

    import static com.example.m.myapplication.G.agentCode;
    import static com.example.m.myapplication.G.agentName;

    /**
    * Created by M on 05/18/2018.
    */

    public class AdaperAgentList extends RecyclerView.Adapter<AdaperAgentList.MyViewHolder> {
    private Context context;
    private List<UsersAgent> agent;
    private List<UsersAgent> agentFiltered;


    public AdaperAgentList(Context context, List<UsersAgent> agent) {
    this.context = context;
    this.agent = agent;
    this.agentFiltered=agent;

    }

    @NonNull

    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view= LayoutInflater.from(context).inflate(R.layout.layo ut_agent_list,parent,false);

    return new MyViewHolder(view);
    }

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


    holder.agent_Code.setText( agentFiltered.get(position).getId());
    holder.agent_Name.setText(agentFiltered.get(positi on).getUsername());


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

    G.agentCode =holder.agent_Code.getText().toString();
    G.agentName = holder.agent_Name.getText().toString();
    holder.searchAgent.setText(holder.agent_Name.getTe xt().toString());
    }
    });



    }

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


    public class MyViewHolder extends RecyclerView.ViewHolder {
    private TextView agent_Name,agent_Code;

    public EditText searchAgent;
    public RecyclerView agentrecyclerView;
    public MyViewHolder(View itemView) {
    super(itemView);
    agent_Name=(TextView) itemView.findViewById(R.id.agentname);
    agent_Code=(TextView) itemView.findViewById(R.id.agentcode);

    searchAgent=(EditText) itemView.findViewById(R.id.searchAgent);
    agentrecyclerView=(RecyclerView) itemView.findViewById(R.id.agentrecyclerView);
    }
    }
    public void filter (String newText)
    {
    if (newText.isEmpty() || newText.equals("") || newText.length()==0){

    agentFiltered=agent;

    }else {
    agentFiltered = new ArrayList<>();
    for (UsersAgent usersAgent : agent) {
    if (usersAgent.getUsername().toLowerCase().contains(n ewText) || usersAgent.getId().toLowerCase().contains(newText) ) {
    agentFiltered.add(usersAgent);
    }

    }

    }
    notifyDataSetChanged();
    }
    }

  9. #9

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    این کد را تست کن!


    package com.example.m.myapplication.Adaper;
    import android.content.Context;
    import android.support.annotation.NonNull;
    import android.support.v7.widget.RecyclerView;
    import android.text.Layout;
    import android.view.LayoutInflater;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.EditText;
    import android.widget.Filter;
    import android.widget.Filterable;
    import android.widget.TextView;
    import android.widget.Toast;

    import com.example.m.myapplication.G;
    import com.example.m.myapplication.MainActivity;
    import com.example.m.myapplication.R;
    import com.example.m.myapplication.RegisterActivity;
    import com.example.m.myapplication.model.User;
    import com.example.m.myapplication.model.UsersAgent;

    import java.util.ArrayList;
    import java.util.List;

    import static com.example.m.myapplication.G.agentCode;
    import static com.example.m.myapplication.G.agentName;

    /**
    * Created by M on 05/18/2018.
    */

    public class AdaperAgentList extends RecyclerView.Adapter<AdaperAgentList.MyViewHolder> {
    private Context context;
    private List<UsersAgent> agent;
    private List<UsersAgent> agentFiltered;


    public AdaperAgentList(Context context, List<UsersAgent> agent) {
    this.context = context;
    this.agent = agent;
    this.agentFiltered=agent;
    }

    @NonNull

    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view= LayoutInflater.from(context).inflate(R.layout.layo ut_agent_list,parent,false);
    return new MyViewHolder(view);
    }

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

    holder.agent_Code.setText( agentFiltered.get(position).getId());
    holder.agent_Name.setText(agentFiltered.get(positi on).getUsername());


    holder.parentView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    G.agentCode =holder.agent_Code.getText().toString();
    G.agentName = holder.agent_Name.getText().toString();
    holder.searchAgent.setText(holder.agent_Name.getTe xt().toString());
    }

    });

    }

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


    public class MyViewHolder extends RecyclerView.ViewHolder {
    private TextView agent_Name,agent_Code;
    public EditText searchAgent;
    public RecyclerView agentrecyclerView;
    private View parentView;

    public MyViewHolder(View itemView) {
    super(itemView);
    parentView = itemView ;
    agent_Name=(TextView) itemView.findViewById(R.id.agentname);
    agent_Code=(TextView) itemView.findViewById(R.id.agentcode);
    searchAgent=(EditText) itemView.findViewById(R.id.searchAgent);
    agentrecyclerView=(RecyclerView) itemView.findViewById(R.id.agentrecyclerView);
    }
    }

    public void filter (String newText)
    {
    if (newText.isEmpty() || newText.equals("") || newText.length()==0){
    agentFiltered=agent;
    }else {
    agentFiltered = new ArrayList<>();
    for (UsersAgent usersAgent : agent) {
    if (usersAgent.getUsername().toLowerCase().contains(n ewText) || usersAgent.getId().toLowerCase().contains(newText) ) {
    agentFiltered.add(usersAgent);
    }
    }

    }
    notifyDataSetChanged();
    }
    }

  10. #10

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    این کد را تست کن!

    }
    نه بازم نشد ...
    ولی یه تیکه کد پیدا کردم ولی نمیدونم چجوری پیاده سازی ش کنم



    public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    class ViewHolder0 extends RecyclerView.ViewHolder {
    ...
    public ViewHolder0(View itemView){
    ...
    }
    }

    class ViewHolder2 extends RecyclerView.ViewHolder {
    ...
    public ViewHolder2(View itemView){
    ...
    }

    @Override
    public int getItemViewType(int position) {
    // Just as an example, return 0 or 2 depending on position
    // Note that unlike in ListView adapters, types don't have to be contiguous
    return position % 2 * 2;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    switch (viewType) {
    case 0: return new ViewHolder0(...);
    case 2: return new ViewHolder2(...);
    ...
    }
    }

    @Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
    switch (holder.getItemViewType()) {
    case 0:
    ViewHolder0 viewHolder0 = (ViewHolder0)holder;
    ...
    break;

    case 2:
    ViewHolder2 viewHolder2 = (ViewHolder2)holder;
    ...
    break;
    }
    }
    }


  11. #11

    نقل قول: مشکل در دست یابی به EditText در DialogFragment

    نه بازم نشد ...
    طبق کدی که شما گذاشتید این ویو holder.parentView را در کلاس holder تعریف نکردده بودید ودر زمان اجرا خطای null میگرفتید که در کد اصلاحی در holder تعریف شد.!
    خطایی که الان میده چی!؟

تاپیک های مشابه

  1. دست یابی به folder
    نوشته شده توسط aslitarin در بخش C#‎‎
    پاسخ: 6
    آخرین پست: سه شنبه 10 آذر 1388, 19:17 عصر
  2. سوال: دست یابی به کانکشن استرینگ موجود در web.config
    نوشته شده توسط YourWorldToday در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 22 تیر 1388, 04:02 صبح
  3. سوال: چگونگی دست یابی به نام فیلدهای جدول
    نوشته شده توسط saba_v در بخش SQL Server
    پاسخ: 3
    آخرین پست: چهارشنبه 30 بهمن 1387, 02:20 صبح
  4. دست یابی به Pixel داخل image
    نوشته شده توسط yashar666 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 16
    آخرین پست: شنبه 16 شهریور 1387, 18:53 عصر
  5. دست یابی به فرم صفحات دیگر
    نوشته شده توسط mmehdyt در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: چهارشنبه 15 فروردین 1386, 18:36 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •