簡體   English   中英

textView如何顯示文本

[英]textView how to display text

如何在此調用后的get view中顯示TextView中的文本

 ListAdapter adapter = new MyCustomAdapter ( 
                      ManageSection.this,  studentList, 
                        R.layout.list_student, new String[] { TAG_StudentID, 
                              TAG_StudentNo,TAG_FullName}, 
                        new int[] { R.id.StudentID, R.id.StudentNo,R.id.FullName}); 
               setListAdapter(adapter); 

並且MyCustomAdapter類有一個get視圖,我將顯示文本

        holder.FullName= (TextView) convertView.findViewById(R.id.FullName);
        holder.FullName.setText();
        holder.StudentNo=(TextView) convertView.findViewById(R.id.StudentNo);
        holder.StudentNo.setText();

所以在set text我應該寫什么因為我做

no=student.get(holder.position).get(TAG_StudentNo);
            name =student.get(holder.position).get(TAG_FullName);

並取不,名稱,但文本在整個列表中重復

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {


     final ViewHolder holder;
        if(convertView==null)
        {
            LayoutInflater mInflater = (LayoutInflater)  context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = mInflater.inflate(resource, parent, false);
            holder = new ViewHolder();
            no=student.get(holder.position).get(TAG_StudentNo);
            name =student.get(holder.position).get(TAG_FullName);
            holder.StudentID= (TextView) convertView.findViewById(R.id.StudentID);
            holder.FullName= (TextView) convertView.findViewById(R.id.FullName);
            holder.FullName.setText();
            holder.StudentNo=(TextView) convertView.findViewById(R.id.StudentNo);
            holder.StudentNo.setText();
            holder.DeleteStudent = (ImageView) convertView.findViewById(R.id.DeleteStudent);
            holder.AlertIcon = (ImageView) convertView.findViewById(R.id.Alert);

         // add a listener for phone call
            holder.DeleteStudent.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                 id = student.get(holder.position).get(TAG_StudentID);
                Toast.makeText(getContext(),id,Toast.LENGTH_LONG).show();


                }

            });


            holder.AlertIcon.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                 //   String email = MyCustomAdapter.listMap.get(holder.position).get("email");
                  //  ActivityHelper.startActivity(ActivityManager.EMAIL, email);
                }

            });

            convertView.setTag(holder);

        }
        else
        {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.position = position;
        return convertView;
   }

    private static class ViewHolder
    {
        ImageView DeleteStudent;

        ImageView AlertIcon;

        TextView StudentID, StudentNo ,FullName;

        int position;
    }


}

誰能告訴我這里的問題是什么?

試試這個代碼。

@Override
public View getView(int position, View convertView, ViewGroup parent) {


 final ViewHolder holder;
    if(convertView==null)
    {
        LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = mInflater.inflate(resource, parent, false);
        holder = new ViewHolder();
        convertView.setTag(holder);

    }
    else
    {
        holder = (ViewHolder) convertView.getTag();
    }
    holder.position = position;
    no=student.get(holder.position).get(TAG_StudentNo);
    name =student.get(holder.position).get(TAG_FullName);
    holder.StudentID= (TextView) convertView.findViewById(R.id.StudentID);
    holder.FullName= (TextView) convertView.findViewById(R.id.FullName);
    holder.FullName.setText();
    holder.StudentNo=(TextView) convertView.findViewById(R.id.StudentNo);
    holder.StudentNo.setText();
    holder.DeleteStudent = (ImageView) convertView.findViewById(R.id.DeleteStudent);
        holder.AlertIcon = (ImageView) convertView.findViewById(R.id.Alert);

     // add a listener for phone call
        holder.DeleteStudent.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

             id = student.get(holder.position).get(TAG_StudentID);
            Toast.makeText(getContext(),id,Toast.LENGTH_LONG).show();


            }

        });


        holder.AlertIcon.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

             //   String email = MyCustomAdapter.listMap.get(holder.position).get("email");
              //  ActivityHelper.startActivity(ActivityManager.EMAIL, email);
            }

        });



    return convertView;

}

private static class ViewHolder
{
    ImageView DeleteStudent;

    ImageView AlertIcon;

    TextView StudentID, StudentNo ,FullName;

    int position;
}

}

你正在做的只是當convertView為null時才設置數據,如果不是你只是在一些Holder操作后返回視圖。 在每種情況下,您需要在textView中設置Text等。 如果您需要更多解釋,請詢問。

它簡單的伙伴U只需要把這行代替空白的setText()

no=student.get(holder.position).get(TAG_StudentNo);// the roll_number string
name =student.get(holder.position).get(TAG_FullName);//full name string
holder.StudentID= (TextView) convertView.findViewById(R.id.StudentID);
holder.FullName= (TextView) convertView.findViewById(R.id.FullName);
holder.FullName.setText(name);//pass fullname
holder.StudentNo=(TextView) convertView.findViewById(R.id.StudentNo);
holder.StudentNo.setText(no);//pass roll no.

你只需要將no和'name variable to setText()`方法。

暫無
暫無

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

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