【问题标题】:enabling phone call from number present in listview从列表视图中存在的号码启用电话呼叫
【发布时间】:2013-03-07 18:49:52
【问题描述】:

由于我是 android 新手,我需要 stackoverflow 成员的帮助。 在我的 android 项目中,我有一个公司名称的字符串数组,其中的联系电话列在相同的字符串数组 - 项目中。

我的列表视图与列表视图中的过滤器功能正常工作。 我只是希望用户可以从我的列表视图中直接拨打该号码。

<item >Citizen Company - 731429278838 </item>

我希望用户可以直接拨打给定的电话号码。

这是我的代码,请查看并通知我我的错误。

public class Taximain extends Activity {
// List view
private ListView lv;
// Listview Adapter
ArrayAdapter<String> adapter;
// Search EditText
EditText inputSearch;
// ArrayList for Listview
ArrayList<HashMap<String, String>> productList;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.taxi_main);
    // Listview Data
    String products[] = getResources().getStringArray(R.array.Taxi);
    lv = (ListView) findViewById(R.id.list_view);
    inputSearch = (EditText) findViewById(R.id.inputSearch);
    // Adding items to listview
    adapter = new ArrayAdapter<String>(this, R.layout.taxi_listitem, R.id.product_name, products);
    lv.setAdapter(adapter);   
    inputSearch.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
            // When user changed the Text
            Taximain.this.adapter.getFilter().filter(cs);
        }
        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                int arg3) {
            // TODO Auto-generated method stub

        }
        @Override
        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub
        }
    });

}

}

【问题讨论】:

  • 查看我的更新答案。

标签: java android android-intent android-widget


【解决方案1】:

首先,你必须制作公司及其号码的数组。

使用公司和号码制作自定义列表视图。

现在您可以使用setOnItemClickListener 拨打电话了。

lv.setOnItemClickListener(new OnItemClickListener()
{
        public void onItemClick(AdapterView<?> arg0, View v, int position, long id){
            Intent callintent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + phone_arr[position]));
            startActivity(callintent);                    
        }
 });

您可以使用this listview 并进行一些修改。

更新:

Strint [] phone_arr={1234567890,9999999999,....}

始终与您的产品尺寸相同。

【讨论】:

    【解决方案2】:

    您要查找的特殊IntentACTION_DIAL

    我假设您可以很容易地获得电话号码,因此您希望使用它:

    String tel = // Get phone number;
    
    Intent intent = new Intent(Intent.ACTION_DIAL);                          
    intent.setData(Uri.parse(String.format("tel:%s", tel)));
    startActivity(intent);
    

    【讨论】:

      【解决方案3】:

      通过使用意图“ACTION_CALL”将启用来自列表视图项的点击的电话。

      String callString="tel:"+phone_arr[position];
      Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(callString));  
      startActivity(intent);
      

      【讨论】:

      • @madhuri- MAM,请重新查看我的代码并建议我。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多