我拥有:带有Textviews和复选框的自定义列表视图.
public class NewQAAdapterSelectFriends extends BaseAdapter {
private LayoutInflater mInflater;
private Person[] data;
public NewQAAdapterSelectFriends(Context context) {
mInflater = LayoutInflater.from(context);
}
public void setData(Person[] data) {
this.data = data;
}
@Override
public int getCount() {
return data.length;
}
@Override
public Object getItem(int item) {
return data[item];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = …Run Code Online (Sandbox Code Playgroud) 我拥有:在networkx whit节点中导入的图形G和由gml文件加载的egdes.
问题:如何向选定边添加新属性E.
我想做什么:我想为图的特定边E添加新属性'type'.注意:此边缘E不存在属性"type".
我在互联网和这里阅读了很多解决方案,但这些解决方案中没有一个解决了我的问题.实际上我的代码是:
G.edge[id_source][id_target]['type']= value
Run Code Online (Sandbox Code Playgroud)
但是如果我打印G的所有边缘,现在我有n + 1条边,G的所有旧边和新边p =(id_source,id_target,{'type'= value}).此外,旧边E(我想修改的那个)没有新属性'type'.
所以我的代码添加了一个新的边缘(我不想要).
我想更新旧的添加不存在的新属性.
谢谢您的帮助 !
编辑:已解决 感谢Aric和一些技巧我解决了我的问题:
G.edge[id_source][id_target]['type']= value
Run Code Online (Sandbox Code Playgroud) 我所拥有的:带有 Textviews 和复选框的自定义列表视图。
问题:如果我检查屏幕上显示的初始项目,然后滚动列表,当我返回列表顶部(向上滚动)时,它们的值会正确保存。但是,如果我滚动列表,例如我想检查列表的最后一个树复选框,那么如果我向上和向下滚动,它们将变为未选中状态....为什么?**
我在其他论坛中看到了针对同一问题的各种解决方案也在stackoverflow上,但问题仍然存在。
在我认为没问题的 getView 函数下面:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_select_friends, null);
viewHolder=new ViewHolder();
viewHolder.nameText=(TextView) convertView.findViewById(R.id.personName);
viewHolder.surnameText=(TextView) convertView.findViewById(R.id.personSurname);
viewHolder.contactImage=(ImageView) convertView.findViewById(R.id.personImage);
viewHolder.checkBox=(CheckBox)convertView.findViewById(R.id.checkBox);
convertView.setTag(viewHolder);
viewHolder.nameText.setTag(viewHolder.nameText);
viewHolder.nameText.setTag(viewHolder.surnameText);
viewHolder.contactImage.setTag(data[position]);
viewHolder.checkBox.setChecked(data[position].isCheck());
viewHolder.checkBox.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
if(viewHolder.checkBox.isChecked()==true)
data[position].setCheck(true);
else
data[position].setCheck(false);
}
});
}
else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.nameText.setText(data[position].getName());
viewHolder.surnameText.setText(data[position].getSurname());
viewHolder.contactImage.setImageResource(data[position].getPhotoRes());
viewHolder.contactImage.setScaleType(ScaleType.FIT_XY);
viewHolder.checkBox.setChecked(data[position].isCheck());
return convertView;
}
Run Code Online (Sandbox Code Playgroud)
已解决:我用这段代码解决了我的 getView 问题: …