我应该将哪个视图对象传递给View对象作为菜单参数的函数?

时间:2017-05-29 16:43:13

标签: android function view menu

这是我应该致电

的功能
public void myLocation (View v){


        MyMapSettings(MY_LOCATION);
        showMyAddressOnMap();
        drawGeofencesAround(MY_LOCATION, false);


    }

我从这里调用上面的函数:

@Override
public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) {
    case R.id.add:

        myLocation(View v); // I am getting error "Cannot resolve symbol". 

        return(true);
    case R.id.reset:
        //add the function to perform here
        return(true);
    case R.id.about:
        //add the function to perform here
        return(true);
    case R.id.exit:
        //add the function to perform here
        return(true);
}
    return(super.onOptionsItemSelected(item));

我想知道我应该将哪种视图传递给我正在调用的函数?

1 个答案:

答案 0 :(得分:1)

似乎public void myLocation (View v){是一个点击监听器,所以创建一个新函数(根据需要命名)并在新函数中移动myLocation的代码

public void getLocation(){
   MyMapSettings(MY_LOCATION);
   showMyAddressOnMap();
   drawGeofencesAround(MY_LOCATION, false);
}

并从像这样的任何地方调用它

public void myLocation (View v){
     getLocation();
   }

 case R.id.add:    
     getLocation();    
     return(true);

如果您不想要这整件事,那么只需传递null

即可
 case R.id.add:    
         getLocation(null);    
        return(true);