jeden z moich aktywności aplikacji nazywa aktywność DayGallery (galeria nieskończone obrazy),nieskończony galeria przewijania z pozycji określonej obrazu
kiedy otworzyć galerię, to pokazać pierwsze zdjęcie losowo, i nie zacząć od pierwszego obrazu I określone w kodzie działania DayGallery.
co staram się osiągnąć to:
PIERWSZA: zacząć od pierwszego obrazu określonego w DayGallery kodu działalności jak poniżej:
gdy otwarta galeria Day1, pierwsze zdjęcie wyświetlane jest:
R.drawable.day_one_1
Po otwarciu galerii Day2 pierwszy wyświetlany obraz to:
R.drawable.day_two_1
i podobnie do galerii wszystkich dni, również niekończące się przewijanie po obu stronach.
DRUGI: jeśli jestem w galerii zatrzymany na obrazek nazwie day_one_7 np następnie wciśnij z powrotem, aby przejść do poprzedniej aktywności i powrócić ponownie do galerii, chcę zobaczyć ten sam obraz widziałem przed moim wyjazdem galerię, ale jeśli wyjdę z aplikacji, a następnie ponownie otworzę galerię, musi ona zostać zresetowana, aby pokazać pierwszy obraz określony w kodzie działania DayGallery, wyjaśniony jako obraz poniżej.
faktycznie szukałem google do tego celu, ale nie mogę uzyskać wszelkie przydatne rzeczy o nim,
Każda pomoc będzie bardzo mile widziane.
DayGallery.java:
@SuppressWarnings("deprecation")
public class DayGallery extends Activity {
TextView tv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
// Set the layout to use
setContentView(R.layout.main);
if (customTitleSupported) {
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.custom_title);
tv = (TextView) findViewById(R.id.title_tv1);
tv.setTypeface(FontFactory.getBFantezy(getBaseContext()));
}
InfiniteGallery galleryOne = (InfiniteGallery) findViewById(R.id.galleryOne);
galleryOne.setAdapter(initializeImages());
galleryOne.setSelection(galleryOne.getCount()/2);
}
private InfiniteGalleryAdapter initializeImages() {
InfiniteGalleryAdapter galleryAdapter = null;
String day = getIntent().getStringExtra("dayname");
if(day.equalsIgnoreCase("Day1")){
int[] tempimages = { R.drawable.day_one_1, R.drawable.day_one_2,R.drawable.day_one_3,
R.drawable.day_one_4, R.drawable.day_one_5,R.drawable.day_one_6,R.drawable.day_one_7,
R.drawable.day_one_8, R.drawable.day_one_9,R.drawable.day_one_10,R.drawable.day_one_11,
R.drawable.day_one_12
};
String[] name = { "00:35","00:35","00:35","1:07","2:00","2:01","2:09",
"2:12","2:15","6:13","6:13","6:13"
};
tv.setText("Day one pictures");
galleryAdapter=new InfiniteGalleryAdapter(this, tempimages, name);
}
else if(day.equalsIgnoreCase("Day2")){
int[] tempimages = { R.drawable.day_two_1, R.drawable.day_two_2,R.drawable.day_two_3,
R.drawable.day_two_4, R.drawable.day_two_5,R.drawable.day_two_6,R.drawable.day_two_7,
R.drawable.day_two_8, R.drawable.day_two_9,R.drawable.day_two_10,R.drawable.day_two_11,
R.drawable.day_two_12
};
String[] name = { "12:04","12:04", "12:04","12:05","12:06", "12:07",
"12:07","12:07","12:08","12:10","12:10","12:10"
};
tv.setText("Day two pictures");
galleryAdapter=new InfiniteGalleryAdapter(this, tempimages, name);
}
// AND THE SAME FOR REST OF DAYS TILL Day10//
return galleryAdapter;
}
}
class InfiniteGalleryAdapter extends BaseAdapter {
private Context mContext;
private int[] images;
private String[] name;
public InfiniteGalleryAdapter(Context c, int[] imageIds,String[] names) {
this.mContext = c;
images = imageIds;
name=names;
inflater = (LayoutInflater)mContext.getSystemService (Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return Integer.MAX_VALUE;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
private LayoutInflater inflater=null;
public class ViewHolder{
public TextView text;
public ImageView image;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = getImageView();
int itemPos = (position % images.length);
try { i.setImageResource(images[itemPos]); ((BitmapDrawable) i.getDrawable()).setAntiAlias(true);
}
catch (OutOfMemoryError e) { Log.e("InfiniteGalleryAdapter", "Out of memory creating imageview. Using empty view.", e);
}
View vi=convertView;
ViewHolder holder;
if(convertView==null){
vi = inflater.inflate(R.layout.gallery_items, null);
holder=new ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.textView1);
holder.image=(ImageView)vi.findViewById(R.id.image);
vi.setTag(holder);
}
else holder=(ViewHolder)vi.getTag();
holder.text.setText(name[itemPos]);
final int stub_id=images[itemPos];
holder.image.setImageResource(stub_id);
return vi;
}
private ImageView getImageView() {
ImageView i = new ImageView(mContext);
return i;
}
}
@SuppressWarnings("deprecation")
class InfiniteGallery extends Gallery {
public InfiniteGallery(Context context) {
super(context);
init();
}
public InfiniteGallery(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public InfiniteGallery(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init(){
// These are just to make it look pretty
setSpacing(25);
setHorizontalFadingEdgeEnabled(false);
}
}
UPDATE:
dodać ten wiersz kodu:
galleryOne.setSelection(0);
po tej linii:
galleryOne.setSelection(galleryOne.getCount()/2);
w moim kodu to skutkować pokazujący pierwsze zdjęcie, jak określono to w DayGallery aktywności, ale to doprowadzić do jednokierunkowej nieskończone przewijanie do jedynego ale nie obu lewej stronie,
Jak możemy uzyskać dwa sposób nieskończony przewijanie obrazów z mojej galerii z pokazaniem pierwszego obrazu w sposób określony w działaniu DayGallery?
naprawdę doceniam każdą pomoc, dzięki.
Mam pod tym słowem błąd czerwonej linii: PageFragment w tym wierszu: Fragment fragment = new PageFragment(); , jakakolwiek rada i jak będzie wyglądać layout activity_multiple_page_scroll.xml, dziękuję –
Edytowałem kod, aby dodać PageFragment.java i activity_multiple_page_scroll.xml – Sushil
mój firend ten pierwszy czas pracy z fragmentem, przepraszam za to, mam kolejną czerwoną linię błąd pod słowem: JavaScriptInterface w tej linii: mWebView.addJavascriptInterface (new JavaScriptInterface (getActivity()), "NativeFunc"); Potrzebuję również layoutu fragment.xml i układu, który zawiera R.id.webview, ponieważ błąd czerwonej linii pod: R.layout.fragment i R.id.webview, ponieważ nie ma układu xml znaleźć, dzięki dużo –