2014-03-03 100 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(); 
     } 

    } 
} 

這每一次即0 我試圖獲得與cvAdapter.findItemPosition位置()會導致同cardindex產量,但也返回-1每次。

回答

0

從CardScrollView實現onClickListener。在您內部,您將能夠確定選擇了哪個項目。