Android:在自定义列表视图中单击“获取”按钮
我使用LazyAdapter创建了一个自定义的listview。现在我需要使用一个图像,可以点击拨号。错误来自图像的onclick方法。StartActivity说“懒汉中没有这样的方法”。我把代码贴在下面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
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"/>