>
Mudei todo o codigo do projeto vendas para funcionar com a versao 2 da api do googlemaps e consigo salvar uma nova venda perfeitamente, consigo listar a venda com a localizacao corretamente, mas quando clico em uma venda na lista para mostrar no mapa da a mensagem de que a aplicacao parou inesperadamente e o mapa nao abre, nao sei se estou fazendo corretamente mas com certeza e com o Intent que tenho q passar as coordenadas para a Activity do mapa.
public class ListarVendasActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listar_vendas);
ListView lvwVendas = (ListView) findViewById(R.id.lvwVendas);
lvwVendas.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView ad, View v, int position,
long id) {
SQLiteCursor c = (SQLiteCursor) ad.getAdapter().getItem(position);
Intent it = new Intent(getBaseContext(), MapShowActivity.class);
it.putExtra("latitude", c.getDouble(c.getColumnIndex("la")));
it.putExtra("longitude", c.getDouble(c.getColumnIndex("lo")));
startActivity(it);
}
});
SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);
Cursor cursor = db.rawQuery("SELECT venda._id,venda.preco,venda.la,venda.lo,produto.nome FROM venda INNER JOIN produto on produto._id = venda.produto;", null);
String[] from = {"_id","nome","preco","la","lo"};
int[] to = {R.id.txvID, R.id.txvNome, R.id.txvPreco,R.id.txvLa,R.id.txvLo};
SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(),R.layout.model_listar, cursor,from,to);
lvwVendas.setAdapter(ad);
db.close();
}
}
public class MapShowActivity extends FragmentActivity{
Intent it = getIntent();
double latitude = it.getDoubleExtra("latitude",0);
double longitude = it.getDoubleExtra("longitude",0);
private LatLng location = new LatLng(latitude, longitude);
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maps);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapa)).getMap();
map.addMarker(new MarkerOptions().position(location).title("venda aqui"));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 20));
map.animateCamera(CameraUpdateFactory.zoomTo(10),2000, null);
}
}
ah esqueci de mencionar que no logCat o erro e o seguinte:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instatiate activity ComponentInfo{com.gmail.andersoninfonet.vendas/com.gmail.andersoninfonet.vendas.MapShowActivity}: java.lang.NullPointerException
Anderson
Tudo bem?
Você não pode pegar um getIntent antes do onCreate, pois ele faz parte da classe. Logo, ele será nulo.
Tente assim:
public class MapShowActivity extends FragmentActivity{
private LatLng location;
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maps);
Intent it = getIntent();
double latitude = it.getDoubleExtra("latitude",0);
double longitude = it.getDoubleExtra("longitude",0);
location = new LatLng(latitude, longitude);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapa)).getMap();
map.addMarker(new MarkerOptions().position(location).title("venda aqui"));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 20));
map.animateCamera(CameraUpdateFactory.zoomTo(10),2000, null);
}
}
Rafael muito obrigado pela ajuda, parece que este problema foi resolvido, porem o log cat me trazia outro erro:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gmail.andersoninfonet.vendas/com.gmail.andersoninfonet.vendas.MapShowActivity}: android.view.InflateException: Binary xml file line #10: Error inflating class fragment.
resolvi declarando mais um meta-data no androidManifest:
Rafael muito obrigado pela ajuda, parece que este problema foi resolvido, porem o log cat me trazia outro erro:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gmail.andersoninfonet.vendas/com.gmail.andersoninfonet.vendas.MapShowActivity}: android.view.InflateException: Binary xml file line #10: Error inflating class fragment.
resolvi declarando mais um meta-data no androidManifest:
Rafael muito obrigado pela ajuda, parece que este problema foi resolvido, porem o log cat me trazia outro erro:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gmail.andersoninfonet.vendas/com.gmail.andersoninfonet.vendas.MapShowActivity}: android.view.InflateException: Binary xml file line #10: Error inflating class fragment.
resolvi declarando mais um meta-data no androidManifest:
[XML]
[/XML]
não to conseguindo postar o código que resolveu, deixa ver se agora vai:
"
desisto kkkkkkkkkkkkkkkkkkkkkk.