Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.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
Android:在自定义列表视图中单击“获取”按钮_Android_Listview_Android Listview_Android Custom View_Android Adapter - Fatal编程技术网

Android:在自定义列表视图中单击“获取”按钮

Android:在自定义列表视图中单击“获取”按钮,android,listview,android-listview,android-custom-view,android-adapter,Android,Listview,Android Listview,Android Custom View,Android Adapter,我使用LazyAdapter创建了一个自定义的listview。现在我需要使用一个图像,可以点击拨号。错误来自图像的onclick方法。StartActivity说“懒汉中没有这样的方法”。我把代码贴在下面 public class LazyAdapter extends BaseAdapter { private Activity activity; private String[] data; private String[] project; Context con; public

我使用LazyAdapter创建了一个自定义的listview。现在我需要使用一个图像,可以点击拨号。错误来自图像的onclick方法。StartActivity说“懒汉中没有这样的方法”。我把代码贴在下面

public class LazyAdapter extends BaseAdapter {

private Activity activity;
private String[] data;
private String[] project;

Context con;

public LazyAdapter(Context con) {
    this.con = con;
}


public LazyAdapter(Activity a, String[] pic, String[] p) {
    activity = a;
    data = pic;
    project = p;
    inflater = (LayoutInflater) activity
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    imageLoader = new ImageLoader(activity.getApplicationContext());
}

public int getCount() {
    return data.length;
}

public Object getItem(int position) {
    return position;
}

public long getItemId(int position) {
    return position;
}

public View getView(final int position, View convertView, ViewGroup parent) {

    LayoutInflater inflater = (LayoutInflater) con
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View vi = convertView;

    if (convertView == null)
        vi = inflater.inflate(R.layout.item_result_page, null);



    ------more code----
    ImageView ivCall = (ImageView) vi.findViewById(R.id.imageViewIRCall);
    ivCall.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            String uri = "tel:9818222333";
             Intent intent = new Intent(Intent.ACTION_DIAL);
             intent.setData(Uri.parse(uri));
             startActivity(intent);
        }
    });

    return vi;
}
我已经参考了这个链接,但是错误在startActivity中。

只需在调用intent时附加活动的上下文即可

在Onclick内@

使用#

取而代之35;

另外#

使用ViewHoder inside
getView()
方法和
将标记设置为按钮,并在onClick内获取标记,以获得正确的视图位置。

使用

activity.startActivity(intent);
而不是

startActivity(intent);
并确保您拥有AndroidManifest.xml中的电话呼叫权限

<uses-permission android:name="android.permission.CALL_PHONE"/>


onclick方法出错时,代码如何编译。我甚至不能举杯祝酒。Maketext方法表示rename.use con.startActivity(intent);谢谢@Manishika corrent answer。您是否也可以建议在此基础上执行加载更多功能…比如在向下滚动列表时添加越来越多的元素。
startActivity(intent);
<uses-permission android:name="android.permission.CALL_PHONE"/>