Java 如何在单击可展开列表视图子项时拨打手机号码

Java 如何在单击可展开列表视图子项时拨打手机号码,java,android,expandablelistview,Java,Android,Expandablelistview,我想开发可扩展的Listview应用程序。我有一些Java代码。但我不知道如何在单击可扩展列表视图子项时拨打手机号码。例如,我想拨打“纳西尔·乌丁博士”、“塞利姆·汗博士”、“拉蒂夫·萨克”、“法鲁克·艾哈迈德”、“莫尼尔·阿克兰”的手机号码 这是我的Java代码。 public class MainActivity extends Activity implements SearchView.OnQueryTextListener, SearchView.OnCloseListener

我想开发可扩展的
Listview
应用程序。我有一些Java代码。但我不知道如何在单击可扩展列表视图子项时拨打手机号码。例如,我想拨打“纳西尔·乌丁博士”、“塞利姆·汗博士”、“拉蒂夫·萨克”、“法鲁克·艾哈迈德”、“莫尼尔·阿克兰”的手机号码

这是我的Java代码。

 public class MainActivity extends Activity implements  
 SearchView.OnQueryTextListener, SearchView.OnCloseListener{

 private SearchView search;
 private MyListAdapter listAdapter;
 private ExpandableListView myList;
 private ArrayList<SectionItem> section = new ArrayList<SectionItem>();

 ExpandableListView expandableList = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        expandableList=(ExpandableListView)findViewById(R.id.expandableList);

      SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
      search = (SearchView) findViewById(R.id.search);
      search.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
      search.setIconifiedByDefault(false);
      search.setOnQueryTextListener(this);
      search.setOnCloseListener(this);

      //display the list
      displayList();
      //expand all Groups
      expandAll();

        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }

        //method to expand all groups
     private void expandAll() {
      int count = listAdapter.getGroupCount();
      for (int i = 0; i < count; i++){
       myList.expandGroup(i);
      }
     }

     //method to expand all groups
     private void displayList() {

      //display the list
      loadSomeData();

      //get reference to the ExpandableListView
      myList = (ExpandableListView) findViewById(R.id.expandableList);
      //create the adapter by passing your ArrayList data
      listAdapter = new MyListAdapter(MainActivity.this, section);
      //attach the adapter to the list
      myList.setAdapter(listAdapter);

     }

     private void loadSomeData() {

      ArrayList<EntryItem> items = new ArrayList<EntryItem>();

        items = new ArrayList<EntryItem>();
        section.add(new SectionItem("Family Member", items));
        items.add(new EntryItem(R.drawable.ic_launcher, "Md. Nasir Uddin", "+88569842525", "+6525412698", "nasir256@gmail.com", ""));
        items.add(new EntryItem(R.drawable.ic_launcher, "Md. Selim Khan", "+7269874524", "+5825478569", "selim.265@gmail.com", ""));
        items.add(new EntryItem(R.drawable.ic_launcher, "Abdul Alim", "+2214569852", "+636598745", "alim.khan25@yahoo.com", ""));
        items.add(new EntryItem(R.drawable.ic_launcher, "Abdul Mannan", "+3698521455", "+2569514457", "manan.goni8@gmail.com", ""));

        items = new ArrayList<EntryItem>();
        section.add(new SectionItem("Friends List", items));
        items.add(new EntryItem(R.drawable.ic_launcher, "Latif Sarker", "+8925824582", "+256992025", "latif.sarker5@yahoo.com", ""));
        items.add(new EntryItem(R.drawable.ic_launcher, "Hossain Ali", "+2547896514", "+354125824", "hossain368@yahoo.com", ""));
        items.add(new EntryItem(R.drawable.ic_launcher, "Faruk Ahmed", "+3541269872", "+589314255", "faruk.jony@yahoo.com", ""));
        items.add(new EntryItem(R.drawable.ic_launcher, "Ismail Hossain", "+86713373326", "+8625478965", "ismail.hossain5@gmail.com", ""));

        items = new ArrayList<EntryItem>();
        section.add(new SectionItem("Relative List", items));
        items.add(new EntryItem(R.drawable.ic_launcher, "Monir Akram", "+2536974144", "+2514796352", "monir25@gmail.com", ""));
        items.add(new EntryItem(R.drawable.ic_launcher, "Aminul Islam", "+21478933544", "+36597452144", "Aminul256@gmail.com", ""));
        items.add(new EntryItem(R.drawable.ic_launcher, "Kawsar Farhad", "+2145879325", "+25698472254", "kawsar.farhad5@gmail.com", ""));

     }

     @Override
     public boolean onClose() {
      listAdapter.filterData("");
      expandAll();
      return false;
     }

     @Override
     public boolean onQueryTextChange(String query) {
      listAdapter.filterData(query);
      expandAll();
      return false;
     }

     @Override
     public boolean onQueryTextSubmit(String query) {
      listAdapter.filterData(query);
      expandAll();
      return false;
     }
}
public类MainActivity扩展活动实现
SearchView.OnQueryTextListener,SearchView.OnCloseListener{
私有搜索视图搜索;
专用MyListAdapter列表适配器;
私有可扩展列表视图myList;
private ArrayList section=new ArrayList();
ExpandableListView expandableList=null;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
expandableList=(ExpandableListView)findViewById(R.id.expandableList);
SearchManager SearchManager=(SearchManager)getSystemService(Context.SEARCH\u服务);
search=(SearchView)findviewbyd(R.id.search);
search.setSearchableInfo(searchManager.getSearchableInfo(getComponentName());
search.setIconifiedByDefault(false);
search.setOnQueryTextListener(这个);
search.setOnCloseListener(this);
//显示列表
显示列表();
//展开所有组
expandAll();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
//方法展开所有组
私有void expandAll(){
int count=listAdapter.getGroupCount();
for(int i=0;i
将click listener设置为listview以激发拨号意图,这将打开带有输入手机号码的拨号器应用程序

mListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
    @Override
    public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int
            childPosition, long id) {
        String number = mAdapter.getChild(groupPosition, childPosition).getMobileNumber();
        Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + number));
        startActivity(intent);
        return true;
    }
});

或者您可以使用Intent.ACTION\u CALL而不是Intent.ACTION\u拨号直接拨打电话,但这需要将权限添加到您的AndroidManifest.xml

不要将java代码标记为jscript,因为它们不相同,请正确格式化您的代码,除非您使用somer diff libs,不要添加标准API导入的代码。谢谢你给我示例代码。但是这条线不行。显示错误。String number=mAdapter.getChild(groupPosition,childPosition).getMobileNumber();将.getMobileNumber()更改为返回手机号码的EntryItem对象的方法,并将其设置为listAdapter如何更改.getMobileNumber()更改为返回手机号码的EntryItem对象的方法,并将其设置为listAdapter。请编写示例代码