Android 使用intent将Latlng从CustomAdapter发送到MapActivity
我在MainActivity中有一个listview,它有一个调用MapActivity的McClickListener方法。Map活动从CustomAdapter(JSON)获取纬度和经度。目标是当单击列表中的一个项目时,它打开MapActivity并从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
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),该怎么办。