0

私は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
        }
    });

}

}

4

3 に答える 3

1

探している特別なインテントはACTION_DIALです。

電話番号は簡単に取得できると思いますので、次のように使用します。

String tel = // Get phone number;

Intent intent = new Intent(Intent.ACTION_DIAL);                          
intent.setData(Uri.parse(String.format("tel:%s", tel)));
startActivity(intent);
于 2013-03-07T19:02:36.050 に答える
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);                    
        }
 });

このリストビューを使用して、いくつかの変更を加えることができます。

アップデート:

ストリント [] phone_arr ={1234567890,9999999999,....}

あなたのプロダクトの常に同じサイズ。

于 2013-03-15T06:18:53.793 に答える
0

インテント「ACTION_CALL」を使用すると、リストビュー アイテムのクリックから電話をかけることができます。

String callString="tel:"+phone_arr[position];
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(callString));  
startActivity(intent);
于 2013-03-09T11:46:28.260 に答える