Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 从CustomArray适配器调用ActivityResult_Java_Android_Eclipse - Fatal编程技术网

Java 从CustomArray适配器调用ActivityResult

Java 从CustomArray适配器调用ActivityResult,java,android,eclipse,Java,Android,Eclipse,我的ListView有一个自定义ArrayAdapter类,下面是代码 public class CustomArrayAdapterForProduct extends ArrayAdapter<ProductClass> { private final Activity context; public final ArrayList<ProductClass> products; private static final int PICK_C

我的ListView有一个自定义ArrayAdapter类,下面是代码

public class CustomArrayAdapterForProduct extends ArrayAdapter<ProductClass> 
{
    private final Activity context;
    public final ArrayList<ProductClass> products;
    private static final int PICK_CONTACT = 1;

    public CustomArrayAdapterForProduct(Activity context, ArrayList<ProductClass> products) 
    {
        super(context, R.layout.product, products);
        this.context = context;
        this.products = products;
    }

    static class ViewHolder {
        protected TextView name;
        protected Button share;
        protected Button call;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) 
    {       
            View view = null;
            LayoutInflater inflator = context.getLayoutInflater();
            view = inflator.inflate(R.layout.product, parent,false);
            final ViewHolder viewHolder = new ViewHolder();
            final ProductClass file =   products.get(position);

            viewHolder.name = (TextView) view.findViewById(R.id.name);
            viewHolder.share = (Button) view.findViewById(R.id.videoView);
            viewHolder.call = (Button) view.findViewById(R.id.videoView);



            viewHolder.share.setOnClickListener(new OnClickListener() 
            {
                public void onClick(View v) 
                {
                  Intent intent = new Intent(Intent.ACTION_PICK,  Contacts.CONTENT_URI);
                  context.startActivityForResult(intent, PICK_CONTACT);
                }

            });


            viewHolder.name.setText(file.name.toString());
            view.setTag(viewHolder);

        return view;
    }
}
公共类CustomArrayAdapterForProduct扩展了ArrayAdapter
{
私人最终活动背景;
公开最终ArrayList产品;
专用静态最终int PICK_触点=1;
公共CustomArrayAdapterForProduct(活动上下文,ArrayList产品)
{
超级(上下文、右布局、产品、产品);
this.context=上下文;
这一点。产品=产品;
}
静态类视窗夹{
受保护的文本视图名称;
受保护的按钮共享;
保护按钮呼叫;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图)
{       
视图=空;
LayoutInflater充气器=上下文。getLayoutInflater();
视图=充气机。充气(R.layout.product,父项,false);
最终ViewHolder ViewHolder=新的ViewHolder();
最终产品类文件=products.get(位置);
viewHolder.name=(TextView)view.findViewById(R.id.name);
viewHolder.share=(按钮)view.findviewbyd(R.id.videoView);
viewHolder.call=(按钮)view.findviewbyd(R.id.videoView);
viewHolder.share.setOnClickListener(新的OnClickListener()
{
公共void onClick(视图v)
{
意向意向=新意向(Intent.ACTION\u PICK,Contacts.CONTENT\u URI);
上下文。startActivityForResult(意向、选择联系人);
}
});
viewHolder.name.setText(file.name.toString());
view.setTag(viewHolder);
返回视图;
}
}
看看这个
context.startActivityForResult(意图,选择联系人)
如何在customArrayAdapter中定义我的
onActivityResult

onActivityResult(int-requestCode、int-resultCode、Intent-data)
是不适用于任何JAVA类的活动类方法


它只适用于Android活动本身。

您必须将CustomArrayAdapterForProduct放入活动类或使用接口。这并不能解决问题,只能说明它。在自定义ArrayAdapter中分配按钮单击事件是合乎逻辑的,有时这些按钮单击调用活动,无论是完整的“页面”还是充当对话框的活动。定义和实现接口并不一定意味着框架将在适当的时间调用onActivityResult方法。您如何解决这个问题也可以帮助我!!