gpt4 book ai didi

java - 从 ArrayAdapter() 内的 OnClickListener 更新进度条

转载 作者:行者123 更新时间:2023-12-02 08:06:49 25 4
gpt4 key购买 nike

我在 Main.java 中有以下代码:

public class Main extends Activity implements AdapterView.OnItemClickListener,OnClickListener
{ private ListAdapter adapter;

int complete;
ProgressBar progCompleted;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mListView = (ListView) findViewById(R.id.list);

adapter = new MyAdapter(this, R.layout.row, objects);

mListView.setAdapter(adapter);
mListView.setOnItemClickListener(this);

/*
* Complete rate
*/
this.complete += (int) getNumberCompleted();
this.progCompleted = (ProgressBar) findViewById(R.id.ProgBar_completed);
this.progCompleted.setMax(100);
this.progCompleted.setProgress(complete);
.......
}

在 MyAdapter.java 中:

public class MyAdapter extends ArrayAdapter<Task> {

@Override
public View getView(int position, View convertView, ViewGroup parent) {
rowHolder myHolder= new rowHolder();
final int mposition = position;

View v = convertView;

if (v == null) {
v = mInflater.inflate(R.layout.row, null);

myHolder.check_button = (CheckBox) v.findViewById(R.id.CheckButton);
if(myHolder.check_button != null){
myHolder.check_button.setChecked(t.isCompleted());

OnClickListener l =new OnClickListener() {

@Override
public void onClick(View v) {
CheckBox cb = (CheckBox) v;
if (cb.isChecked())
{
some task...
}


}
};

myHolder.check_button.setOnClickListener(l);
}
}

return v;
}

所以基本上我想要的是当我单击 ListView 中的复选框时能够更新进度条状态。

最佳答案

最简单的方法是在您的 Activity 上创建方法,这将改变您的进度条。当您发送到适配器 Activity 时 - 使用进度条的新值参数调用此方法。

public void setProgress(int mProgressStatus){progCompleted.setProgress(mProgressStatus);} 

此方法用于主要 Activity 。使用参数 Main mainActivity 为适配器创建构造函数。然后在您的适配器中调用此方法 mainActivity.setProgress(35);(取决于您的逻辑 - 替换您的“某些任务...”代码)。

希望这会对您有所帮助。

致以最诚挚的问候,心理

关于java - 从 ArrayAdapter() 内的 OnClickListener 更新进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8030346/

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