Выполнение вызова с использованием значений из Textview - PullRequest
0 голосов
/ 10 марта 2012

Я пытаюсь заставить пользователя сделать телефонный звонок, используя значения из текстового представления. проблема в том, что startActivity не определено для типа View.onClicklistener. Я пытаюсь реализовать это в 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;
}

Ответы [ 2 ]

1 голос
/ 10 марта 2012

Попробуйте, это прекрасно работает для меня ..

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>

Надеюсь, это поможет вам. Спасибо ....

0 голосов
/ 10 марта 2012

Вместо этого вы можете попробовать следующий код

v.getContext().startActivity(intent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...