Android 使用intent将Latlng从CustomAdapter发送到MapActivity

Android 使用intent将Latlng从CustomAdapter发送到MapActivity,android,google-maps,android-intent,Android,Google Maps,Android Intent,我在MainActivity中有一个listview,它有一个调用MapActivity的McClickListener方法。Map活动从CustomAdapter(JSON)获取纬度和经度。目标是当单击列表中的一个项目时,它打开MapActivity并从CustomAdapter获取纬度和经度。我现在的问题是MapActivity直接启动,而不单击项目 public class MainActivity extends Activity{ private static final String

我在MainActivity中有一个listview,它有一个调用MapActivity的McClickListener方法。Map活动从CustomAdapter(JSON)获取纬度和经度。目标是当单击列表中的一个项目时,它打开MapActivity并从CustomAdapter获取纬度和经度。我现在的问题是MapActivity直接启动,而不单击项目

public class MainActivity extends Activity{
private static final String TAG = MainActivity.class.getSimpleName();

// resturants json url
private static final String url = "http://w99ltestapp.w99l.net/w99ltestapp/webservice/?link=getRest";
private ProgressDialog pDialog;
private List<Resturant> resturantList = new ArrayList<Resturant>();
private ListView listView;
private CustomListAdapter adapter;



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

    listView = (ListView) findViewById(R.id.list);
    adapter = new CustomListAdapter(this, resturantList);
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {


        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent intent = new Intent(view.getContext(), MapsActivity.class);
            startActivity(intent);
        }});

}

以这种方式从CustomListAdapter传递数据

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
someView.setOnClikListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                final int position = mListView.getPositionForView((View) v.getParent());
                Intent intent = new Intent(view.getContext(), MapsActivity.class);
                Bundle bundle = new Bundle();
                //Add your data from getFactualResults method to bundle
                bundle.putString("from_position", your start point);
                bundle.putString("to_position", your end point);
                //Add the bundle to the intent
                intent.putExtras(bundle);
                startActivity(intent);));
            }
        });
 }       
以这种方式在MapsActivity中获取数据

Bundle bundle = getIntent().getExtras();

//Extract the data…
fromPosition = bundle.getString("from_position");  
toPosition = bundle.getString("to_position"); 

以这种方式从CustomListAdapter传递数据

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
someView.setOnClikListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                final int position = mListView.getPositionForView((View) v.getParent());
                Intent intent = new Intent(view.getContext(), MapsActivity.class);
                Bundle bundle = new Bundle();
                //Add your data from getFactualResults method to bundle
                bundle.putString("from_position", your start point);
                bundle.putString("to_position", your end point);
                //Add the bundle to the intent
                intent.putExtras(bundle);
                startActivity(intent);));
            }
        });
 }       
以这种方式在MapsActivity中获取数据

Bundle bundle = getIntent().getExtras();

//Extract the data…
fromPosition = bundle.getString("from_position");  
toPosition = bundle.getString("to_position"); 

为什么要费心将数据传递给intent呢?您可以使用静态变量访问应用程序中的任意位置。您还可以根据您的要求调整您的意图

只需使用下面的fromPosition


公共静态车床位置

何必费心将数据传递到intent,您可以使用静态变量访问应用程序中的任何位置。您还可以根据您的要求调整您的意图

只需使用下面的fromPosition


公共静态车床位置

我想首先将数据从CustomAdapter传递到MainActivity。然后在任何视图的getView()方法中,将它们从MainActivitywrite setOnClikListener传递给MapActivity。像@Override public View getView(int position,View convertView,ViewGroup parent){someView.setOnClikListener(new MyOnClickListener(context,itemName));}我想首先从CustomAdapter将数据传递给MainActivity。然后在任何视图的getView()方法中,将它们从MainActivitywrite setOnClikListener传递给MapActivity。像@Override public View getView(int位置,View convertView,ViewGroup父项){someView.setOnClikListener(新的MyOnClickListener(上下文,itemName));}如果我使用firebase数据库存储LatLong数据以及其他数据(如名称ect),该怎么办?如果我使用firebase数据库存储LatLong数据以及其他数据(如名称ect),该怎么办。