Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在从其他活动返回时取消选中复选框_Java_Android_Checkbox_Android Activity_Return - Fatal编程技术网

Java 如何在从其他活动返回时取消选中复选框

Java 如何在从其他活动返回时取消选中复选框,java,android,checkbox,android-activity,return,Java,Android,Checkbox,Android Activity,Return,我试着在简历上写,但没有成功,我也试着在startActivityForResult上写,但仍然一无所获。我想让它尽可能简单。我应该在简历中做些别的事情吗?所有的答案、建议、线索都会来的。如果你不知道怎么做,弹出一个线程。谢谢你抽出时间 在我的适配器中,我有一个类: class ViewHolder { TextView tvNazwaT; TextView tvCenaT; ImageView ivTowar; CheckBox chb_czy_zamowic; } 有一个我的复选框,我想

我试着在简历上写,但没有成功,我也试着在startActivityForResult上写,但仍然一无所获。我想让它尽可能简单。我应该在简历中做些别的事情吗?所有的答案、建议、线索都会来的。如果你不知道怎么做,弹出一个线程。谢谢你抽出时间

在我的适配器中,我有一个类:

class ViewHolder {
TextView tvNazwaT;
TextView tvCenaT;
ImageView ivTowar;
CheckBox chb_czy_zamowic;
 }
有一个我的
复选框
,我想在单击
按钮后更改它(单击原因返回主
活动
,其中
复选框
刚刚显示在我的gridview中)

复选框的所有逻辑形式适配器(实际上在
getView
方法中)如下所示:

view.chb_czy_zamowic
.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(
                                                                                           final CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if (buttonView.isChecked()) {
display dialog; }
下面是NextActivity的返回按钮:

Intent returnIntent = new Intent();
setResult(RESULT_OK, returnIntent);
finish();
protected void onActivityResult(final int requestCode,
final int resultCode, final   Intent data) {
switch (requestCode) {
case 1:
CheckBox cb = (CheckBox) findViewById(R.id.chb_czy_zamowic);
cb.setChecked(false);

break;
}
}
在我的主要活动中,我尝试了onResume方法,但我无法以任何已知的方式访问它

protected void onResume() {
super.onResume();
MainActivity.lista_wybranych_towarow.clear();
if (MainActivity.lista_wybranych_towarow.isEmpty()) {
b_zatwierdz.setVisibility(View.INVISIBLE);

}
因此,我在适配器中尝试了以下方法:

convertView.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
final Intent intent = 
new Intent(getContext(),  Zatwierdz.class);
context.startActivityForResult(intent,1);
}


});
在我的主要活动中:

Intent returnIntent = new Intent();
setResult(RESULT_OK, returnIntent);
finish();
protected void onActivityResult(final int requestCode,
final int resultCode, final   Intent data) {
switch (requestCode) {
case 1:
CheckBox cb = (CheckBox) findViewById(R.id.chb_czy_zamowic);
cb.setChecked(false);

break;
}
}
它也没有成功

这是我的全部代码:

**MainActivity:** http://pastebin.com/DUz6GWbw  
**Adapter:** http://pastebin.com/jHWqBaf0   
**DefaultActivity:** http://pastebin.com/1VgEAZhZ

我猜您的网格适配器下有一些底层数据。离开“活动”时,请记住“活动范围”中某个变量的选中位置,或者在数据结构中将其标记为选中。当您从另一个活动返回时,撤消该更改并在适配器上调用
notifyDataSetChanged()

是,但问题是该复选框仅在适配器中可用