gpt4 book ai didi

android 适配器数据已更改以通知主机 Activity

转载 作者:太空狗 更新时间:2023-10-29 16:02:23 24 4
gpt4 key购买 nike

这是我的用例。我有一个带有 ListView 和 TextView 的 Activity 。 textview 是 listview 上所有数字的总和,listview 包含所有数字。我有一个针对这种情况的自定义适配器。

在 ListView 的每一行上,我都有一个按钮。此按钮将更改此行上的数字。我想做的是:

  1. 当用户点击按钮时,每行的值都会改变 - 可行。
  2. textview 上的总和也相应改变。

这是一个简化的例子。实际上,我也有一个约束,即我有一个数据模型来表示每个角色上的数据。我无法将数据模型扩展到 DataSetObserver。

有什么帮助吗?

最佳答案

您应该创建一个监听器,它会监听增量按钮上的触摸,并在其中调用扩展您创建的接口(interface)的类的方法。为了简单起见,在您的适配器中,您将拥有:

public interface OnIncrementListener{
onNumberIncremented();
}

private OnIncrementListener mListener;

//This is inside getView method of your adapter
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mListener.onNumberIncremented();
}
});

然后是你的 Activity

public class MyActivity extends Activity implements OnIncrementListener {

//inside onCreate
myAdapter.setOnIncrementListener(this);
//end onCreate

@Override
public void onNumberIncremented() {
//Change value of your TextView here
}
}

关于android 适配器数据已更改以通知主机 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27520933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com