2014-03-03 6 views
0

이 코드로 화면에서 활성화 된 카드 색인을 얻으려고합니다.카드 색인을 가져올 수 없습니다.

import java.util.ArrayList; 
import java.util.Arrays; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.KeyEvent; 
import android.view.MotionEvent; 
import android.view.View; 
import android.view.ViewGroup; 

import com.google.android.glass.app.Card; 
import com.google.android.glass.touchpad.Gesture; 
import com.google.android.glass.touchpad.GestureDetector; 
import com.google.android.glass.widget.CardScrollAdapter; 
import com.google.android.glass.widget.CardScrollView; 
import com.google.api.services.mirror.model.TimelineItem; 

public class MainActivity extends Activity { 
    private GestureDetector mGestureDetector; 
    String identifysource; 
    int cardindex; 
    private static ArrayList<Card> sourceCard = new ArrayList<Card>(); 
    private ArrayList<String> sourceText = new ArrayList<String>(Arrays.asList("PCWorld", "TechCrunch")); 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     for(int i=0;i<sourceText.size();i++) 
     { 
      System.out.println("whats up"); 
     Card card = new Card(this); 
     identifysource=sourceText.get(i); 
     card.setText(identifysource); 
     sourceCard.add(card); 


     } 
     System.out.println(this); 
     mGestureDetector = createGestureDetector(this); 
     CardScrollView csvCardsView = new CardScrollView(this); 
     csaAdapter cvAdapter = new csaAdapter(); 
     csvCardsView.setAdapter(cvAdapter); 
     csvCardsView.activate(); 
     setContentView(csvCardsView); 
     cardindex=csvCardsView.getSelectedItemPosition(); 

    } 

private static class csaAdapter extends CardScrollAdapter 
    { 
     @Override 
     public int findIdPosition(Object id) 
     { 
      return -1; 
     } 

     @Override 
     public int findItemPosition(Object item) 
     { 
      return sourceCard.indexOf(item); 
     } 

     @Override 
     public int getCount() 
     { 
      return sourceCard.size(); 
     } 

     @Override 
     public Object getItem(int position) 
     { 
      return sourceCard.get(position); 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) 
     { 
      return sourceCard.get(position).toView(); 
     } 

    } 
} 

이 동일한 cardindex 출력에 I가 cvAdapter.findItemPosition와 위치를 얻는 시도마다 즉 0 ()를 발생하지만 역시 반환 -1 매번.

답변

0

CardScrollView에서 onClickListener를 구현하십시오. 귀하는 귀하가 선택한 항목을 결정할 수 있습니다.

관련 문제