在Alertdialog setView中使用的TextView中的NullPointerException

时间:2012-02-05 17:37:56

标签: android

LOgCat..在litemitemclick的Android中,我正在使用这段代码:

TextView tvofpostedText = (TextView)findViewById(R.id.postedgtext);
    @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
                        long arg3) {



    final AlertDialog.Builder builder = new AlertDialog.Builder(
                        DemoPage2.this);
                LayoutInflater factory = LayoutInflater.from(DemoPage2.this);

                final View textEntryView = factory.inflate(
                        R.layout.layoutforalertdialog, null);

                // builder.setMessage("" + s.get(pos))
                try {
                    tvofpostedText.setText("username:" + s.get(pos));
                } catch (Exception e) {
                    // do nothing
                }
                builder.setMessage("" + username + (CharSequence) s.get(pos))
                        .setCancelable(true)
                        .setTitle("post Detail")
                        .setView(textEntryView)

                        .setPositiveButton("View Comments",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog,
                                            int id) {
                                        // ListViewActivity.this.finish();

                                    }
                                })
                        .setNegativeButton("Cancel",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog,
                                            int id) {
                                        dialog.cancel();
                                    }
                                })
                        .setNeutralButton("Post Comments",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog,
                                            int whichButton) {
                                    }
                                });
                AlertDialog alert = builder.create();
                alert.show();
                tvofpostedText.setText("username:" + s.get(pos));
            }

        });

s ArrayList。我在第NullPointerException行获得tvofpostedText.setText("username:" + s.get(pos));。即使s.get(pos)为空,至​​少“username”也应设置为文本。请帮帮我。在logcat中我得到空指针exception.tvofpostedText正在返回null.Plese HELP&gt;

2 个答案:

答案 0 :(得分:2)

嗯,你有两个可能性,这里任何人都不能用你给出的代码来确定。

  1. tvofpostedText为空。
  2. s为空。
  3. 找出哪一个为null并修复它。您没有显示其中任何一个被声明的位置,但这是它崩溃的线路中唯一的两种可能性。

答案 1 :(得分:1)

您应该发布您的logcat,以便我们可以帮助您弄清楚到底出了什么问题。前面提到的tvofpostedText在哪里?它在哪个布局?我建议您在修改它之前通过findViewById()进行设置。