在listViewItem

时间:2015-07-09 08:33:33

标签: android nullpointerexception onclicklistener getview

我有listView项目,每个项目都有一些按钮和textView,我想抓住当前listItem上当前textView或buttom的点击,并对它们进行一些更改。 为此,我在cursorAdapter中使用getView方法:

@Override
    public View getView(final int position, View convertView, final ViewGroup parent) {
        View rootView =  super.getView(position, convertView, parent);
        mCounter = (TextView) rootView.findViewById(R.id.textView_counter);


        mCounter.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int counter = Integer.getInteger(mCounter.getText().toString());
                mCounter.setText(String.valueOf(counter + 1));
                }
            });
            return rootView;
        }

但是当我试图做mCounter.getText().toString()时,我会得到NPE ......

将很高兴任何想法如何解决这个问题:)

1 个答案:

答案 0 :(得分:1)

@Override
public void onClick(View v) {
    TextView tv = (TextView)v;
    int counter = Integer.getInteger(tv.getText().toString());
    tv.setText(String.valueOf(counter + 1));
}

确保v始终为TextView(在您的情况下是这样)或准备用ClassCastException抓住它。

<强>更新

好的,请更改以下行

int counter = Integer.getInteger(tv.getText().toString());

int counter = Integer.parseInt(tv.getText().toString());

更新2

确保TextView中的值仅为数字,或准备好用NumberFormatException抓住它。

相关问题