0

この行は設定されません。holder.t1.setText(NewItem);

onClickハードコードされた文字列(テスト用)を使用して、それを親に移動すると、移動します。

これは の getView メソッド内にあることに注意してくださいArrayAdapter。Text をListView行に設定しようとしています。

編集:

拡張、完全な getView() -- 要求どおり (編集する時間がありませんでした。後で編集します。申し訳ありません!)

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    final ViewHolder holder;

    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    if (convertView == null) {

        convertView = inflater.inflate(R.layout.commentlayout, parent,
                false);
        holder = new ViewHolder();
        holder.t1 = (TextView) convertView.findViewById(R.id.labelComment);
        holder.t2 = (TextView) convertView.findViewById(R.id.labelDate);
        holder.t3 = (TextView) convertView.findViewById(R.id.labelUser);
        holder.t3.setTypeface(tf);
        holder.t4 = (TextView) convertView
                .findViewById(R.id.labelHelpfulCount);
        holder.t5 = (TextView) convertView
                .findViewById(R.id.labelCommentCount);
        holder.ib1 = (ImageView) convertView
                .findViewById(R.id.labelChatIcon);
        holder.ib2 = (ImageView) convertView
                .findViewById(R.id.labelCommentFlag);
        holder.rb1 = (RatingBar) convertView
                .findViewById(R.id.myCommentsRatingBarSmall);
        holder.b1 = (Button) convertView.findViewById(R.id.bReview1);
        holder.b2 = (Button) convertView.findViewById(R.id.bReview2);
        holder.b3 = (Button) convertView.findViewById(R.id.bReview3);

        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
        convertView.setOnCreateContextMenuListener(null);
    }

    ReviewObject ro = getItem(position);
    final String item = ro.item;
    final String review = ro.review;
    final String username = ro.username;
    Long date = Long.valueOf(ro.date);
    String rating = ro.ratings;
    String voteCount = ro.voteCount;
    String chatcount = ro.chatCount;
    String cat = ro.cat;

    final ArrayList<String> passing = new ArrayList<String>();
    passing.add(item);
    passing.add(review);
    passing.add(cat);
    passing.add(username);

    String time = "";
    time = DateConvert.dateConvert(Long.valueOf(date));

    holder.t1.setText(review);
    holder.t2.setText(time);
    holder.t3.setText(username);
    holder.t4.setText(voteCount);
    holder.t5.setText(chatcount);
    holder.ib1.setImageResource(R.drawable.updown);
    holder.ib2.setImageResource(R.drawable.comment);
    holder.rb1.setRating(Float.valueOf(rating));

    if (rating.equals("0")) {
        holder.rb1.setEnabled(false);
    }

    holder.b1.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            String ReviewUser = holder.t3.getText().toString();
            String ReviewWords = holder.t1.getText().toString();

            Intent intent = new Intent(getContext(), Comments.class);
            intent.putExtra("comment", ReviewWords);
            intent.putExtra("user", ReviewUser);
            intent.putExtra("item", item);
            getContext().startActivity(intent);

        }
    });

    if (!Rateit.username.equals(username)) {

        holder.b2.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                AlertDialog.Builder alertbox = new AlertDialog.Builder(getContext());
                alertbox.setMessage("Did you like this?");
                alertbox.setNegativeButton("Vote Up",
                        new DialogInterface.OnClickListener() {

                            @SuppressWarnings("unchecked")
                            public void onClick(DialogInterface arg0,
                                    int arg1) {

                                String VoteTally = holder.t4.getText()
                                        .toString();
                                int ReviewCountInt = Integer
                                        .valueOf(VoteTally) + 1;
                                VoteTally = String.valueOf(ReviewCountInt);
                                holder.t4.setText(VoteTally);

                                new HelpfulTask().execute(passing);
                            }
                        });

                alertbox.setPositiveButton("Vote Down",
                        new DialogInterface.OnClickListener() {

                            @SuppressWarnings("unchecked")
                            public void onClick(DialogInterface dialog,
                                    int id) {

                                String VoteTally = holder.t4.getText()
                                        .toString();
                                int ReviewCountInt = Integer
                                        .valueOf(VoteTally) - 1;
                                VoteTally = String.valueOf(ReviewCountInt);
                                holder.t4.setText(VoteTally);

                                new UnHelpfulTask().execute(passing);

                            }
                        });

                alertbox.setNeutralButton("Report Spam",
                        new DialogInterface.OnClickListener() {

                            @SuppressWarnings("unchecked")
                            public void onClick(DialogInterface dialog,
                                    int id) {

                                new SpamTask().execute(passing);

                            }
                        });

                alertbox.show();

            }

        });

    } else {
        holder.b2.setText("Edit");
        holder.b2.setOnClickListener(new OnClickListener() {



            public void onClick(View v) {

                final Dialog dialog = new Dialog(getContext());
                dialog.setContentView(R.layout.editreview);
                dialog.setTitle("Edit Review");
                dialog.show();

                final EditText etEdit = (EditText) dialog
                        .findViewById(R.id.etEditReview);

                etEdit.setText(review);

                Button bInsert = (Button) dialog.findViewById(R.id.bInsert);
                bInsert.setOnClickListener(new OnClickListener() {

                    @SuppressWarnings("unchecked")
                    public void onClick(View v) {


                        NewItem = etEdit.getText().toString();


                        if (NewItem.equals("")) {

                            Toast.makeText(getContext(),
                                    "Please add something first.",
                                    Toast.LENGTH_SHORT).show();

                        } else {

                            holder.t1.setText(NewItem);
                            passing.add(NewItem);

                            dialog.dismiss();

                            new EditCommentTask().execute(passing);


                        }

                    }
                });

            }
        });

    }

    if (!Rateit.username.equals(username)) {

        holder.b3.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                Intent i = new Intent(getContext(), OtherProfile.class);
                i.putExtra("userprofile", username);
                getContext().startActivity(i);

            }
        });

    } else {
        holder.b3.setText("Delete");
        holder.b3.setOnClickListener(new OnClickListener() {
            @SuppressWarnings("unchecked")
            public void onClick(View v) {

                AlertDialog.Builder alertbox = new AlertDialog.Builder(
                        getContext());
                alertbox.setMessage("Are you sure you want to delete your review?");
                alertbox.setNegativeButton("No",
                        new DialogInterface.OnClickListener() {

                            public void onClick(DialogInterface arg0,
                                    int arg1) {

                            }
                        });

                alertbox.setPositiveButton("Yes",
                        new DialogInterface.OnClickListener() {

                            public void onClick(DialogInterface dialog,
                                    int id) {

                                new DeleteReviewTask().execute(passing);


                            }
                        });

                alertbox.show();

            }
        });

    }

    return convertView;
}
4

1 に答える 1

0

上記のコメントであなたが言ったことから、これは意図された機能です。以来、

ただし、ダイアログが閉じると、トーストが表示され、タスクが正しく実行されます。

これは、ここで onClick() にコード化されています。

bInsert.setOnClickListener(new OnClickListener() {

                @SuppressWarnings("unchecked")
                public void onClick(View v) {

                    NewItem = etEdit.getText().toString();

                    if (NewItem.equals("")) {

                        Toast.makeText(getContext(),
                                "Please add something first.",
                                Toast.LENGTH_SHORT).show();
                    } else {

                        holder.t1.setText(NewItem);
                        passing.add(NewItem);

                        dialog.dismiss();

                        new EditCommentTask().execute(passing);
                    }
                }
            });

具体的には、これは実行中です:

 if (NewItem.equals("")) {
   Toast.makeText(getContext(),
      "Please add something first.",
      Toast.LENGTH_SHORT).show();
 }

だから私はあなたの問題がにあると仮定してNewItem.equals("")ます. この時点での値が何であるかを確認するには、線のすぐ下にaLog.dまたはを投げてみてください。println()NewItem = etEdit.getText().toString();NewItem

于 2013-01-28T00:46:46.460 に答える