我尝试让用户使用textview中的值拨打电话。问题是对于View.onClicklistener类型未定义startActivity。我正在尝试在lazyadapter中实现这个视图类,有人可以帮助我。这是代码
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
final ViewHolder holder;
if (convertView == null) {
vi = inflater.inflate(R.layout.item, null);
holder = new ViewHolder();
holder.text3=(TextView) vi.findViewById(R.id.text3);
holder.text = (TextView) vi.findViewById(R.id.text);
holder.text2 = (TextView) vi.findViewById(R.id.text2);
holder.image=(ImageView)vi.findViewById(R.id.image);
vi.setTag(holder);
} else
holder = (ViewHolder) vi.getTag();
holder.text.setText(list.get(position).Name);
holder.text3.setText(list.get(position).phone);
StringBuilder sb = new StringBuilder();
sb.append(", Address: " + list.get(position).address);
holder.text3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String phonee="tel:"+ holder.text3.getText().toString().trim();
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(phonee));
startActivity(intent);//error is here
}
});
holder.text2.setText(sb.toString());
holder.image.setTag(data[position]);
imageLoader.DisplayImage(data[position], activity, holder.image);
return vi;
}
答案 0 :(得分:1)
试试这个,它对我来说很完美..
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.fromParts("tel", NUMBER, NUMBER));// Number is string variable..
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyActivity.this.startActivity(intent);
你有没有给你的应用程序PHONE权限?
您需要将其提供到AndroidManifest.xml
中是
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="aexp.explistemptygroup">
<uses-permission android:name="android.permission.CALL_PHONE" />
<application>
希望这会对你有所帮助。 感谢....
答案 1 :(得分:0)
您可以尝试使用以下代码
v.getContext().startActivity(intent);