2016-01-03 3 views
0

Я хочу добавить опцию колл для каждого контакта в пользовательском listview. Я сделал это. У меня есть изображение, которое по щелчку мне нужно сделать. Приведенная ошибка «Метод startActivity (View) не определено для типа нового View.OnClickListener()»Добавить опцию вызова в пользовательский listview

public View getView(int position, View convertView, ViewGroup arg2) { 
    listRowAuto autoListItems = autoList.get(position); 

    if (convertView == null) { 
     LayoutInflater inflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.item_auto, null); 

    } 

    TextView tvName = (TextView) convertView.findViewById(R.id.auto_tv1); 
    tvName.setText(autoListItems.getName()); 
    TextView tvPhone = (TextView) convertView.findViewById(R.id.auto_tv2); 
    tvPhone.setText(autoListItems.getPhone()); 
    ImageView autoCall=(ImageView) convertView.findViewById(R.id.auto_call); 
    autoCall.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view1) { 
      // TODO Auto-generated method stub 
      view1 = new Intent("android.intent.action.CALL"); 

      view1.setData(Uri.parse((new StringBuilder()).append("tel:").append(autoListItems.getPhone()).toString())); 
      startActivity(view1); 

     } 
    }); 
    return convertView; 
} 

ответ

1

Ваша проблема в том, что вы звоните startActivity с целью в качестве аргумента. startActivity принимает только намерение.

вид1 объявлен как вид вида здесь.

public void onClick(View view1) { 

Простым решением было бы сделать следующее.

@Override 
    public void onClick(View view1) { 
     // TODO Auto-generated method stub 
     Intent i = new Intent("android.intent.action.CALL"); 

     i.setData(Uri.parse((new StringBuilder()).append("tel:").append(autoListItems.getPhone()).toString())); 
     startActivity(i); 

    } 
+0

еще ошибка происходит: посмотрите на это изображение http://s14.postimg.org/ckak0xh5d/image.png –

+0

внутри пользовательских ListView вы должны вызвать startActivity(), используя активность, которая была передана , просьба отправить весь свой класс, чтобы я мог помочь. –

+0

Вот ссылка: http://pastebin.com/ALPvKKTi –

Смежные вопросы