将调用选项添加到自定义列表视图

时间:2016-01-03 17:04:06

标签: android listview android-intent

我想在自定义列表视图中为每个联系人添加呼叫选项。我这样做了我有一个imageview,点击我需要拨打电话。显示的错误是"方法startActivity(View)未定义类型new View.OnClickListener()"

public View getView(int position, View convertView, ViewGroup arg2) {
    listRowAuto autoListItems = autoList.get(position);

    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.item_auto, null);

    }

    TextView tvName = (TextView) convertView.findViewById(R.id.auto_tv1);
    tvName.setText(autoListItems.getName());
    TextView tvPhone = (TextView) convertView.findViewById(R.id.auto_tv2);
    tvPhone.setText(autoListItems.getPhone());
    ImageView autoCall=(ImageView) convertView.findViewById(R.id.auto_call);
    autoCall.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view1) {
            // TODO Auto-generated method stub
            view1 = new Intent("android.intent.action.CALL");

            view1.setData(Uri.parse((new StringBuilder()).append("tel:").append(autoListItems.getPhone()).toString()));
            startActivity(view1);

        }
    });
    return convertView;
}

1 个答案:

答案 0 :(得分:1)

您的问题是您使用视图作为参数调用startActivity。 startActivity仅接受intent。

view1在此声明为View类型。

public void onClick(View view1) {

一个简单的解决方法是执行以下操作。

@Override
    public void onClick(View view1) {
        // TODO Auto-generated method stub
        Intent i = new Intent("android.intent.action.CALL");

        i.setData(Uri.parse((new StringBuilder()).append("tel:").append(autoListItems.getPhone()).toString()));
        startActivity(i);

    }