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。请编写示例代码