2014-02-20 2 views
0

Я использую пользовательский InfoWindow в своем приложении. У меня есть два вопроса, связанных с этим.При использовании пользовательского InfoWindow получения NullPointerException

  1. Можно ли сделать многострочный фрагмент кода в InfoWindow

Say я добавить некоторые данные позволяют сказать, что нужно показать Lattitude и долготе, когда я нажимаю на маркер. Обычно, если u задает эти значения в фрагменте, они отображаются в одной строке. Я хотел бы показать их на две строки. Возможно ли это?

Я искал многострочный фрагмент и не мог найти ничего полезного, поэтому возникла идея настройки InfoWindow.

2.Below показать мой заказ InfoWindow, который дает мне NullPointerException

Getting исключение из цикла примерки улова. Я следил за кодом, который я нашел во время googleing, но он не работает.

private class MyCustomInfoWindow implements InfoWindowAdapter{ 


    private View view; 

    public MyCustomInfoWindow(){ 

    } 

    @Override 
    public View getInfoContents(Marker markr) { 
     // TODO Auto-generated method stub 


     return null; 
    } 

    @Override 
    public View getInfoWindow(Marker marker) { 
     // TODO Auto-generated method stub 

     view = getLayoutInflater().inflate(R.layout.mycustom_infowindow, null); 
     TextView marker_heading = (TextView)findViewById(R.id.marker_heading); 
     try{ 

      String m_heading = marker.getId(); 
      marker_heading.setText(m_heading); 

     } 
     catch(Exception exx){ 
      Toast.makeText(getApplicationContext(), "getInfoWindow Error is " + marker_heading.length(), Toast.LENGTH_LONG).show(); 

     } 
     return view; 
    } 



}  

Мой заказ

<?xml version="1.0" encoding="UTF-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical">  

    <TextView 
    android:id="@+id/marker_heading" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:typeface="serif" 
    android:textStyle="bold" 
    />  

</LinearLayout> 

Использование Google Maps V2

Может кто-то пожалуйста, скажите мне, где я буду неправильно.

+0

Для 'Можно ли сделать многострочный фрагмент кода в InfoWindow' вы можете добавить отдельные TextView, чтобы показать Lattitude и долготу в отдельных строках или использовать новый символ линии, если вы хотите показывать только в TextView –

+0

Об изменении, когда кто-то говорит «googling» или «googled», нет причин переходить на «google», потому что это испортило смысл. Редактирование кода является более подходящим. –

ответ

2

Использование

TextView marker_heading = (TextView)view.findViewById(R.id.marker_heading); 

для инициализации экземпляра marker_heading TextView потому TextView внутри mycustom_infowindow расположение

+0

@gopal: Спасибо за редактирование. –

+0

Это сработало спасибо – suja

1

Вы должны заменить этот

TextView marker_heading = (TextView)findViewById(R.id.marker_heading); 

С

TextView marker_heading = (TextView)view.findViewById(R.id.marker_heading); 
1

Использование

TextView marker_heading = (TextView)view.findViewById(R.id.marker_heading); 

вы должны передать объект вашей точки зрения в качестве Другого крупного найти идентификатор для TextView