2017-08-12 12 views
0

私promblemがある:私はrecyclerViewアダプタを拡張し、このcalss becuse目的のためanimitionを使用傾ける私は(overridePendingTransitionを知っている);しかし、TISクラス活動のためのアニメーション(意図)

のためにそのいけない仕事それは、(=> overridePendingTransitionを知りませんR.layout.one、R.layout.two);

パブリッククラスListAdapterwは

パブリッククラスホーム

公共断片{

View view; 

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

    JSON(); 

    return view; 
} 

private void JSON() { 

    final RecyclerView recyclerView1 = (RecyclerView) view.findViewById(R.id.recycle_home); 

    StringRequest request=new StringRequest(Request.Method.GET, "", new Response.Listener<String>() { 
     @Override 
     public void onResponse(String s) { 

      try { 

       List<cardViewhomeinfo> sliders = new ArrayList<>(); 

       JSONArray jsonArray=new JSONArray(s); 

       for(int i=0;i<jsonArray.length();i++){ 

       JSONObject jsonObject=jsonArray.getJSONObject(i); 

       cardViewhomeinfo slider = new cardViewhomeinfo(); 

       slider.setTitle(jsonObject.getString("title")); 
       slider.setPicture(jsonObject.getString("pic")); 
       slider.setId(jsonObject.getString("id")); 

        sliders.add(slider); 

      } 

       ListAdapterw adapter = new ListAdapterw(sliders); 
       recyclerView1.setLayoutManager(new LinearLayoutManager(getActivity().getApplicationContext())); 
       recyclerView1.setAdapter(adapter); 

      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError volleyError) { 
      dialog(); 
     } 
    }); 
    Volley.newRequestQueue(getActivity().getApplicationContext()).add(request); 
} 

private void dialog() { 
    Toast.makeText(getActivity().getApplicationContext(),"No INTENT",Toast.LENGTH_LONG).show(); 
} 

@Override 
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
    getActivity().setTitle("Home"); 
} 

} とsubActivty

を拡張{

List<cardViewhomeinfo> sliders; 
ImageLoader imageLoader=ImageLoader.getInstance(); 

public ListAdapterw(List<cardViewhomeinfo> sliders) { 
    this.sliders = sliders; 
} 

@Override 
public Holder onCreateViewHolder(ViewGroup parent, int viewType) { 
    LayoutInflater inflater=LayoutInflater.from(parent.getContext()); 
    View view=inflater.inflate(R.layout.recycleview_home,parent,false); 
    return new Holder(view); 

} 

@Override 
public void onBindViewHolder(Holder holder, int position) { 
    holder.title.setText(sliders.get(position).getTitle()); 
    holder.id=sliders.get(position).getId(); 
    imageLoader.displayImage("http://wwwww"+sliders.get(position).getPicture(),holder.pic); 
} 

@Override 
public int getItemCount() { 
    return sliders.size(); 
} 

public class Holder extends RecyclerView.ViewHolder{ 

public TextView title; 
    public ImageView pic; 
    public String id=""; 
    CardView cardView; 

    public Holder(final View itemView) { 
     super(itemView); 

     title=(TextView)itemView.findViewById(R.id.TitleCardView_home); 
     pic=(ImageView)itemView.findViewById(R.id.imageCardView_home); 
     cardView= (CardView) itemView.findViewById(R.id.cardView); 

     cardView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Intent intent = new Intent(itemView.getContext(),subCat.class); 
       intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      intent.putExtra("id",id); 
      overridePendingTransition(R.layout.one,R.layout.two); 
       itemView.getContext().startActivity(intent); 

      } 
     }); 
    } 
} 

} RecyclerView.Adapterと私のactivtityを拡張しますクラスsubCa tはAppCompatActivity {

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

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    Intent intent = getIntent(); 
    final String idCat = intent.getStringExtra("id"); 
    Toast.makeText(getApplicationContext(),idCat,Toast.LENGTH_LONG).show();} 
+0

意図活動を開始するためした後、それはfinish();
又は

と呼ばれるべきです。アダプターは、ビューのデータを定義するためのものです。あなたは、リサイクラー・ビューの要素や活動の間に、どのような効果を適用したいかを詳しく教えてください。 –

+0

私はあるページから別のページに移動するとき、私はアニメーションを必要としています。私はその動作を知らないoverridePendingTransition(R.layout.one、R.layout.two);ユーザーが自分のrecycleViewをクリックすると、別のアクティビティ(subCat)に移動する必要があります – Alireza

+0

リサイクラビューのcardViewをクリックしたときのアクティビティからの保留中の遷移を希望するのか、読み込んだときにrecyclerViewアクティビティを遷移させますか?それはどのアクティビティですか。そのアクティビティのコードをここに投稿してください。 –

答えて

0

はあなたがcardViewをクリックしたときに行っている活動ののonCreateにあなたのoverridePendingTransition(R.layout.one,R.layout.two);コードを入れて拡張します。

それは活動のあなたのonCreateメソッドでこのようなものでなければなりません:

public class subCat extends AppCompatActivity { 

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

overridePendingTransition(R.layout.one,R.layout.two); //Put it here. 

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 
Intent intent = getIntent(); 
final String idCat = intent.getStringExtra("id"); 
Toast.makeText(getApplicationContext(),idCat,Toast.LENGTH_LONG).show(); 
} 

は、あなたのリサイクルビューのアダプタクラスからoverridePendingTransition(R.layout.one,R.layout.two);これを削除します。一方

0

overridePendingTransition(R.layout.one,R.layout.two);startActivity();

関連する問題