Android的:如何在ListView插入一个呼叫按钮 [英] Android: How to insert a call button in a Listview

查看:196
本文介绍了Android的:如何在ListView插入一个呼叫按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

PRINTSCREEN

我有三视图列表视图
1)ImageView的
2)的TextView
3)按钮

I have a listView with 3 Views 1) ImageView 2) TextView 3) Button

我想提出的是,当我点击一个按钮,它就会被触发,并调用特定的人。
电话号码存储在strings.xml档案作为

What I want to make is that when I click on a button, it gets triggered and call to the specific person. Telephone numbers are stored in strings.xml file as

<string-array name="telePhoneNummber">
        <item>123</item>
        <item>8765</item>
        <item>565767</item>
</string-array>

这是我的适配器类。

And here is my Adapter Class.

public class MoviesAdapter extends ArrayAdapter {

List list = new ArrayList();


public MoviesAdapter(Context context, int resource) {
    super(context, resource);
}

static class DataHandler {
    ImageView Poster;
    TextView title;
    Button telePhone;
}

@Override
public void add(Object object) {
    super.add(object);
    list.add(object);
}

@Override
public int getCount() {
    return this.list.size();
}

@Override
public Object getItem(int position) {
    return this.list.get(position);
}

@Override
public View getView(int position, View convertView, final ViewGroup parent) {
    View row;
    row = convertView;

    DataHandler handler;
    if (convertView == null) {

        LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        row = inflater.inflate(R.layout.row_layout, parent, false);
        handler = new DataHandler();
        handler.Poster = (ImageView) row.findViewById(R.id.movie_poster);
        handler.title = (TextView) row.findViewById(R.id.movie_title);
        handler.telePhone = (Button) row.findViewById(R.id.btn_call);

        row.setTag(handler);

    } else {
        handler = (DataHandler) row.getTag();
    }

    MovieDataProvider dataProvider;
    dataProvider = (MovieDataProvider) this.getItem(position);
    handler.Poster.setImageResource(dataProvider.getMovie_poster_resource());
    handler.title.setText(dataProvider.getMovie_title());
    handler.telePhone.setText(dataProvider.getTelePhone());

    return row;
}

}

不要在命名约定注意请。

Don't pay attention on the naming convention please.

推荐答案

写您的点击监听ListView和打开手机拨号程序是这样的:

Write your Listview on click listener and open the phone Dialer like this:

    listView.setOnItemClickListener(new OnItemClickListener() { 

        @Override 
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
          String[] numberArray= context.getResources().getStringArray(R.array.telePhoneNummber); // get array from strings.xml

       // launch dialer with pre-filled phone number
        Intent phoneDialerIntent= new Intent(Intent.ACTION_DIAL);
        phoneDialerIntent.setData(Uri.parse("tel:" +  numberArray[position]));
        startActivity(phoneDialerIntent);


        } 

    }); 

这篇关于Android的:如何在ListView插入一个呼叫按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆