簡體   English   中英

單擊項目時從 gridview 片段移動到另一個片段

[英]move from gridview fragment when item is clicked to another fragment

我已經設法在一個片段上放置了一個網格視圖,並且希望在單擊一個項目時移動到另一個片段。 請任何幫助。 這是我的網格視圖自定義適配器

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
 import android.widget.Toast;

public class CustomAdapter extends BaseAdapter {

   String [] result;
    Context context;
       int [] imageId;
         private static LayoutInflater inflater=null;
          public CustomAdapter(Context context2, String[] prgmNameList,               int[] prgmImages) {
    // TODO Auto-generated constructor stub
    result=prgmNameList;
    context=context2;
    imageId=prgmImages;
     inflater = ( LayoutInflater )context.
             getSystemService(Context.LAYOUT_INFLATER_SERVICE);

}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return result.length;
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return position;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}

public class Holder
{
    TextView tv;
    ImageView img;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    Holder holder=new Holder();
    View rowView;

         rowView = inflater.inflate(R.layout.programlist, null);
         holder.tv=(TextView) rowView.findViewById(R.id.textView1);
         holder.img=(ImageView) rowView.findViewById(R.id.imageView1);

     holder.tv.setText(result[position]);
     holder.img.setImageResource(imageId[position]);

     rowView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast.makeText(context, "You Clicked "+result[position], Toast.LENGTH_LONG).show();
        }
    });

    return rowView;
}

}

這是我的網格視圖片段

   import java.util.ArrayList;
   import android.content.Context;
   import android.os.Bundle;
    import android.support.v4.app.Fragment;
     import android.view.LayoutInflater;
        import android.view.View;
            import android.view.ViewGroup;
            import android.widget.AdapterView;
              import android.widget.AdapterView.OnItemClickListener;
        import android.widget.GridView;


            public class Appmenu extends Fragment{

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

    GridView gv;
    Context context;    
    ArrayList prgmName;   

   String [] prgmNameList= new String[] {"Let Us C","c++","JAVA","Jsp","Microsoft .Net","Android","PHP","Jquery","JavaScript"};
   int [] prgmImages= new int[] {R.drawable.c,R.drawable.c,R.drawable.c,R.drawable.c,R.drawable.c,R.drawable.c,R.drawable.c,R.drawable.c,R.drawable.c};

   gv=(GridView) v.findViewById(R.id.gv);    

   gv.setAdapter(new CustomAdapter(getContext(), prgmNameList,prgmImages));    

   gv.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {

    }
}) ;

 return v;

}

我應該把 fragmentManager 放在哪里,這樣我就可以替換 fragments

先感謝您

單擊該項目時,您應該替換該片段。 將此代碼添加到您的onItemClick()

getActivity().getSupportFragmentManager().beginTransaction().replace(container_id, your_new_fragment).commit();

單擊該項目時,您應該替換該片段。 將此代碼添加到您的 onItemClick()

requireActivity().getSupportFragmentManager().beginTransaction().replace(container_id, new YoutFragment()).commit();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM