2017-08-03 68 views
0

我知道android工作室(我在c#和C++中有一些有限的知識),並且一直在基本學習,到目前爲止一直工作正常。我正在使用一個coverflow示例,經過大量調查後,我無法確定在何處以及如何設置「點擊聆聽者」的等同物。本節的目標是根據所選項目選擇一個隨機數。CoverFlow'On item selected'

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v7.app.AppCompatActivity; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 


import java.util.ArrayList; 

import it.moondroid.coverflow.components.ui.containers.FeatureCoverFlow; 

/** 
* A simple {@link Fragment} subclass. 
*/ 
public class FitnessDiary_Fragment2 extends Fragment { 

    Main2Activity mainActivity; 

    public FitnessDiary_Fragment2() { 
     // Required empty public constructor 
    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_mood_diary_, container, false); 

     ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.mooddiary_pagename); 

     mainActivity = (Main2Activity)getActivity(); 
     mainActivity.coverFlow = (FeatureCoverFlow) view.findViewById(R.id.coverflow); 

     settingDummyData(); 



     mainActivity.adapter = new CoverFlowAdapter(mainActivity, mainActivity.games); 
     mainActivity.coverFlow.setAdapter(mainActivity.adapter); 

     // Inflate the layout for this fragment 
     return view; 
    } 

    private void settingDummyData() { 
     mainActivity.games = new ArrayList<>(); 
     mainActivity.games.add(new Game(R.drawable.ic_temp, 
     "replacement1")); 
     mainActivity.games.add(new Game(R.drawable.ic_temp, 
     "replacement2")); 
     mainActivity.games.add(new Game(R.drawable.ic_temp, 
     "replacement3")); 
     mainActivity.games.add(new Game(R.drawable.ic_temp, 
     "replacement4")); 
    } 

} 

由於碎片的工作,這是「主要活動」,上面的代碼被引用,我懷疑是我需要的代碼段是我下面的部分,但我不知道。

import com.github.jjobes.slidedatetimepicker.SlideDateTimeListener; 
import com.github.jjobes.slidedatetimepicker.SlideDateTimePicker; 
import com.ignitec.xxxxx.coverflow.CoverFlowAdapter; 
import com.ignitec.xxxxx.coverflow.Game; 

import java.text.SimpleDateFormat; 
import java.util.ArrayList; 
import java.util.Date; 
import java.util.Locale; 

import it.moondroid.coverflow.components.ui.containers.FeatureCoverFlow; 

public class Main2Activity extends AppCompatActivity 
     implements NavigationView.OnNavigationItemSelectedListener { 

    public FeatureCoverFlow coverFlow; 
    public CoverFlowAdapter adapter; 
    public ArrayList<Game> games; 

在此先感謝!

+0

您想將setOnItemClickListener設置爲您的coverFlow? – hsm59

+0

嘿,你能告訴我你正在使用哪個CoverFlow庫嗎? – hsm59

+0

@ hsm59這是我正在遵循的教程... http://www.devexchanges.info/2015/11/making-carousel-layout-in-android.html – charley

回答

0

原來,這和創建'onScrollPositionListener'一樣簡單,可惜我花了一天時間才弄明白了:)。

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_mood_diary_, container, false); 

     ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.mooddiary_pagename); 

     mainActivity = (Main2Activity)getActivity(); 
     mainActivity.coverFlow = (FeatureCoverFlow) view.findViewById(R.id.coverflow); 

     settingDummyData(); 

     mainActivity.adapter = new CoverFlowAdapter(mainActivity, mainActivity.games); 
     mainActivity.coverFlow.setAdapter(mainActivity.adapter); 


     mainActivity.coverFlow.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       //TODO CoverFlow item clicked 
      } 
     }); 

     mainActivity.coverFlow.setOnScrollPositionListener(new FeatureCoverFlow.OnScrollPositionListener() { 
      @Override 
      public void onScrolledToPosition(int position) { 
       Log.e("Position----->", "" + position); 
      } 

      @Override 
      public void onScrolling() { 
       //TODO CoverFlow began scrolling 
      } 
     }); 



     // Inflate the layout for this fragment 
     return view; 
    } 
相關問題