Java 在listview上滚动会创建重复的元数据项

Java 在listview上滚动会创建重复的元数据项,java,android,arrays,Java,Android,Arrays,我用从JSON数组中获取的数据填充列表视图。当我在列表视图上滚动时,获取的元数据被复制 public View getView(int pos, View convertView, ViewGroup parent) { View tv; TextView t; if (convertView == null) tv = m_inflater.inflate (R.layout.item, parent,

我用从JSON数组中获取的数据填充列表视图。当我在列表视图上滚动时,获取的元数据被复制

        public View getView(int pos, View convertView, ViewGroup parent) {
        View tv;
        TextView t;


        if (convertView == null)
            tv = m_inflater.inflate (R.layout.item, parent, false);
          else
            tv = convertView;

        try {
            t = (TextView) tv.findViewById(R.id.text);
            JSONObject obj = _results.getJSONObject(pos);

            t.setText (obj.getString("title").replaceAll("\\<.*?\\>", ""));

            t = (TextView) tv.findViewById(R.id.created_at);

            JSONObject meta = obj.getJSONObject("meta");

            t.setText (t.getText() + "\n"+ "When:" + "\t"+meta.getString("startDate")+"\n"+"Location:" +"\t" +meta.getString("location")+"\n" +"More Info:"+"\t" +meta.getString("eventURL")+"\n");




        } catch (JSONException e) {

            Log.e("alatta", e.getMessage());
        }
        return tv;
      }
public View getView(int-pos、View-convertView、View-group-parent){
观看电视;
文本视图t;
if(convertView==null)
tv=m_充气机充气(R.layout.item,父项,false);
其他的
电视=转换视图;
试一试{
t=(TextView)tv.findViewById(R.id.text);
JSONObject obj=_results.getJSONObject(pos);
t、 setText(obj.getString(“title”).replaceAll(“\\”,”);
t=(TextView)tv.findViewById(R.id.created_at);
JSONObject meta=obj.getJSONObject(“meta”);
t、 setText(t.getText()+“\n”+”当:“+”\t“+meta.getString(“startDate”)+“\n”+”位置:“+”\t“+meta.getString(“位置”)+“\n”+”更多信息:“+”\t“+meta.getString(“eventURL”)+“\n”;
}捕获(JSONException e){
Log.e(“alatta”,e.getMessage());
}
返回电视;
}
而不是

t.setText (t.getText() + "\n"+ "When:" + "\t"+meta.getString( ...
试试这个:

t.setText("When:" + "\t"+meta.getString( ...)

这是因为列表视图重用列表项对象(
view convertView
),所以滚动时,您会得到一个已经使用过的
tv
,并且它的视图中已经填充了一些值。

我还得到一个url“eventURL”,它是我在列表视图行中显示的项目之一。不同的列表视图行将具有不同的url,我想在webview中打开该url。我已经创建了一个webview,并为此创建了一个新的活动,我在实现onClickListener时遇到了问题。@Noble6:请将此作为一个新的SO问题提问,并在上面发布您当前的代码。