如何在android中的userdefined方法中使用所选菜单项值
我正在开发android应用程序。我想根据菜单项中选择的值绑定listview中的数据。但我不能在用户定义的方法getdatalatlog(双纬度,双经度)中使用所选的菜单项值 下面是我的代码如何在android中的userdefined方法中使用所选菜单项值,android,arrays,json,Android,Arrays,Json,我正在开发android应用程序。我想根据菜单项中选择的值绑定listview中的数据。但我不能在用户定义的方法getdatalatlog(双纬度,双经度)中使用所选的菜单项值 下面是我的代码 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_serch: openSearch(); return t
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_serch:
openSearch();
return true;
}
switch (item.getItemId()) {
case R.id.five:
Toast.makeText(getBaseContext(), "You selected 5km", Toast.LENGTH_SHORT).show();
break;
case R.id.ten:
Toast.makeText(getBaseContext(), "You selected 10km", Toast.LENGTH_SHORT).show();
break;
case R.id.fifteen:
Toast.makeText(getBaseContext(), "You selected 15km", Toast.LENGTH_SHORT).show();
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
下面是我的用户定义方法:
private void getdatalatlog(double latitude, double longitude) {
// TODO Auto-generated method stub
String url = "http://192.168.0.106/PHP/webservice/comments.php?latitude='"+latitude+"'&longitude='"+longitude+"'";
aq.progress(R.id.progressBar1).ajax(url, JSONObject.class, this,"jsonCallback");
}`
在menuitem中,vaue是5、10、15。我想在上面的userdefind方法中使用所选的值。
请引导我。
提前感谢。在类的顶部定义一个名为
value
的变量,并在onCreate()方法中使用一些默认值初始化它
然后,当用户单击菜单项时,将所需值(5、10或15)设置为值
变量。例如,在开关
语句中
case R.id.five:
value = 5;
break;
case R.id.ten:
value = 10;
break;
....
然后,您可以在方法内部使用
值变量。选择后,将所选菜单作为参数传递给getdatalatlog,如下所示
case R.id.five:
selectedMenu = R.id.five;
break;
getdatalatlog(双纬度,双经度,int R.id.five)
或
声明全局变量selectedMenu,并在选中时为该变量指定值(例如R.id.five),并在方法中使用该值
case R.id.five:
selectedMenu = R.id.five;
break;
然后您可以像if(selectedMenu==R.id.five)那样检查该值是否要将值传递给您的方法?您的具体问题是什么?是啊,我想在我的用户定义方法中传递所选菜单项的值。我尝试按照您的建议进行操作,但在选择“案例10”后,我如何再次调用我的用户定义方法?您想在选择菜单项后调用它吗?最初,当“活动开始”时,数据被删除绑定为距离5公里,然后当用户选择10或15或再次选择5公里时,数据将按照该距离绑定。您不能从switch case语句中调用该方法吗?不,我不能,因为它使用参数纬度和经度。我不能在switch case中使用我的方法。如果您将值指定给selectedMenu并在方法getdatalatlog中获取该值,该怎么办。