Android 如何在自定义BaseAdapter中使用intent

Android 如何在自定义BaseAdapter中使用intent,android,listview,android-intent,Android,Listview,Android Intent,我有两个活动-MainActivity和ListresultActivity。在ListresultActivity中,我为listView使用了一个自定义适配器。但是对于列表中的每一行,我都有一个按钮,我想使用它返回到使用intent的main活动。如何在onclick中使用setResult(RESULT\u OK,intnt)和finish() 代码如下: main活动: int request_code = 1 public void onActivityResult(int reque

我有两个活动-MainActivity和ListresultActivity。在ListresultActivity中,我为listView使用了一个自定义适配器。但是对于列表中的每一行,我都有一个按钮,我想使用它返回到使用intent的main活动。如何在onclick中使用setResult(RESULT\u OK,intnt)和finish()

代码如下: main活动:

int request_code = 1
public void onActivityResult(int requestCode, int resultCode, Intent data)     
{         
    if (requestCode == request_code) 
    {  if (resultCode == RESULT_OK) 
       { //Toast. makeText(this,data.getData().toString(),  Toast.LENGTH_SHORT).show();
        Student aStu = (Student)data.getSerializableExtra("studentObj");

       }        
    }    
}
ListResultActivity(第二个活动,我正在使用listview和我自己的sipleBaseAdapter自定义类):

SimpleBaseAdapter类(baseAdapter的自定义类):


您可以使用与现在相同的方法使用
setResult
,但要完成活动,请使用以下行:-

((活动)adapterContext.finish()


在这里,我假设
adapterContext
是通过
ListresultActivity
传递的
上下文,您已经为其设置了适配器。

使用intent with putExtra来管理条件/将数据传递给主活动不是您实现的备选方案?setResult(RESULT\u OK,intnt);显示错误-创建局部变量/consatnt/field/parameter@user2751449我认为您尚未创建任何名为
RESULT\u OK
的变量,请创建一个变量或尝试将
RESULT\u OK
替换为整数
1
。这可能有用。
protected void onCreate(Bundle savedInstanceState) 
{
 SimpleBaseAdapter datatHolder = new SimpleBaseAdapter(this, studentList);
 myList.setAdapter(datatHolder);
}
public class SimpleBaseAdapter extends BaseAdapter 
{  @Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) adapterContext
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View rowView = inflater.inflate(R.layout.adapter_listrowitem, parent, false);

    Button btnBack = (Button) rowView.findViewById(R.id.listRw_btnBk);
    final  Student student = studentDataHolder.get(position);
    if (student != null) {

      btnBack.setOnClickListener(new OnClickListener() {

  public void onClick(View v) {
// TODO Auto-generated method stub

Intent intnt = new Intent(adapterContext,MainActivity.class);
intnt.putExtra("studentObj", student);
//setResult(RESULT_OK, intnt);
//ListResultActivity.this.finish();
}
});
    }
    return rowView;

}