2014-10-05 6 views
0

Я пытаюсь отобразить мою высоту на экране «Стекло», используя mAltText. Когда я вызываю класс карты, он дает мне ошибку: «Карта конструктора (новое LocationHelper.LocationResult() {}) не определена», потому что у меня есть «это» в качестве параметра. Что я должен использовать вместо «этого», чтобы он работал? Я весь день искал для рабочего примера безрезультатно.Google Glass Card Constructor Undefined

Может кто-нибудь предложить совет новичку || следует ли использовать текстовое представление android вместо карты, а затем раздуть XML-представление?

LocationHelper - это еще один класс в другом файле .java.

public class MainActivity extends Activity { 
    private String mAltText; 
    LocationResult locationResult; 
    LocationHelper locationHelper; 

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

     this.locationResult = new LocationResult(){ 
      @Override 
      public void gotLocation(Location location){ 

       if(location!=null){  
        double latitude = location.getLatitude(); 
        double longitude = location.getLongitude(); 
        double altitude = location.getAltitude(); 
        mAltText = (Double.toString(altitude)); 

        // display on card 
        Card card = new Card(this); //Error: The constructor Card(new LocationHelper.LocationResult(){}) is undefined 
        card.setText(mAltText); 
        View cardView = card.getView(); 
        setContentView(cardView); 

       }else{ 
        Log.e(TAG, "Location is null."); 
       } 
      } 
     }; 
     this.locationHelper = new LocationHelper(); 
     this.locationHelper.getLocation(this, this.locationResult); 
     } 
} 

ответ

0

Конструктор карт принимает контекст, как вы можете видеть here.

Итак, вы можете передать любую переменную, являющуюся подклассом контекста. В вашем случае активность - хороший выбор.

Card card = new Card(MainActivity.this); 

В коде, вы не можете просто использовать this, потому что this относится к LocationResult и это не Context.

Can anyone offer some advice to a newbie || should I use the android textview instead of card and then inflate an XML to the view?

У вас может быть текстовый вид на карточке. FYI, API карты заменяется на CardBuilder. Если у вас нет специального требования или пользовательского представления, вы можете пойти с CardBuilder.

+1

Спасибо! Это сработало отлично; Я знал, что это просто. Это было обусловлено моим ограниченным знанием того, что такое «контекст». Ты спасла моего друга. – Autex

+0

@Autex вы очень желанны. счастливое кодирование! – pt2121