2017-08-03 2 views
0

私はアンドロイドスタジオ(私はC#とC++でいくつかの限られた知識しか持っていません)を知っていて、基本的に私が行っているように学習しています。私はcoverflowの例を使って作業しています。多くの調査の後、どこでどのように 'click listener'に相当するものを設定するのは難しいです。このセクションの目的は、選択された項目に基づいて乱数を選択することです。CoverFlow 'On selected items'

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")); 
    } 

} 

フラグメントでの作業に、これは上記のコードを参照していることを「主な活動」であるために、私の疑惑は、私は、以下のセクションIであることを、コードの一部を必要とするが、私はわからないということです。

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

あなたのcoverFlowにOnItemClickListenerを設定しますか? – hsm59

+0

ご存知のCoverFlowライブラリを教えていただけますか? – hsm59

+0

@ hsm59これは私が従っているチュートリアルです... http://www.devexchanges.info/2015/11/making-carousel-layout-in-android.html – charley

答えて

0

「onScrollPositionListener」を作成するのと同じくらい簡単でしたが、それを理解するには1日かかりました:)

@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; 
    } 
関連する問題