任何人都可以告诉我这个代码有什么问题吗?请
我可以看到" Log"正确,但ACTION_CAL不起作用...
final int pos = position;
ImageView ImageView = (ImageView) convertView.findViewById(R.id.call);
ImageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.v("name :: ", feedItems.get(pos).getName());
String message = feedItems.get(pos).getName();
String number = "tel:" + message.toString().trim();
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number));
startActivity(callIntent);
}
private void startActivity(Intent callIntent) {
// TODO Auto-generated method stub
}
});
感谢您的帮助
答案 0 :(得分:0)
这是什么
private void startActivity(Intent callIntent) {
// TODO Auto-generated method stub
}
请将其删除并使用context.startActivity(Intent intent);
如果您的适配器处于活动状态或片段中,请致电startActivity(callIntent)
If是一个完整的seprate类,并从您的活动或片段中传递构造函数中的上下文。
喜欢
private Context mContext;
public CustomAdapter(Context context) {
mContext = context;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.v("name :: ", feedItems.get(pos).getName());
String message = feedItems.get(pos).getName();
String number = "tel:" + message.toString().trim();
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number));
mContext.startActivity(callIntent);
}
添加权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
答案 1 :(得分:0)
似乎你在适配器中,你无法调用startActivity。
如果您使用ListAdapter或其他,您可以简单地替换此行:
startActivity(callIntent);
withi this:
getContext().startActivity(callIntent);