- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 viewPager,我希望在操作栏上有一个按案例打开新 Activity 的项目,我的意思是,如果当前图像为 1,则打开 Activity1,如果它是第二个,则它应该打开 Activity2。到现在为止,我已经创建了包含项目的菜单,并打开了新的 Activity ,但我希望通过上面描述的案例打开更多 Activity 。非常感谢!!!
MainActivity.java:
package com.descoper.rom;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
private static int NUM_VIEWS = 46;
private MyPagerAdapter adapter;
private ViewPager pager;
private int[] pics = { R.drawable.casapoporului, R.drawable.transfagarasan,
R.drawable.transalpina, R.drawable.balealac,
R.drawable.barajulsiriu, R.drawable.bisericadesublac,
R.drawable.canionulscari, R.drawable.cascadacailor,
R.drawable.cascadaciucas, R.drawable.castelulbran,
R.drawable.castelulcorvinilor, R.drawable.castelulkaroly,
R.drawable.castelulpeles, R.drawable.castelulsturdza,
R.drawable.castrulroman, R.drawable.cazaneledunarii,
R.drawable.cazinoulconstanta, R.drawable.cetateabastionara,
R.drawable.cetateafagaras, R.drawable.cetateaprejmer,
R.drawable.cheilebicazului, R.drawable.cimitirulsapanta,
R.drawable.colibita, R.drawable.deltadunarii,
R.drawable.epavacostinesti, R.drawable.focurilevii,
R.drawable.hanulancutei, R.drawable.insulaovidiu,
R.drawable.laculalbastru, R.drawable.laculana,
R.drawable.laculbeului, R.drawable.laculbucura,
R.drawable.laculcapra, R.drawable.laculrosu, R.drawable.laculvidra,
R.drawable.laculvulturilor, R.drawable.mocanita,
R.drawable.parculcraiova, R.drawable.parcultimisoara,
R.drawable.pesteraghetarul, R.drawable.pesteraursilor,
R.drawable.piatabrasov, R.drawable.poduldumnezeu,
R.drawable.salinapraid, R.drawable.salinaturda,
R.drawable.sarmisegetuzaregia, R.drawable.sfinxulbucegi,
R.drawable.sibiu, R.drawable.vulcaniinoroiosi };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
adapter = new MyPagerAdapter();
pager = (ViewPager) findViewById(R.id.myviewpager);
pager.setAdapter(adapter);
PagerTitleStrip pagerTitleStrip = (PagerTitleStrip) findViewById(R.id.titlestrip);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
private class MyPagerAdapter extends PagerAdapter {
String[] title = { "Casa poporului", "Transfagarasan", "Transalpina",
"Balea Lac", "Barajul Siriu", "Biserica de sub lac",
"Canionul Sapte scari", "Cascada Cailor", "Cascada Ciucas",
"Castelul Bran", "Castelul Corvinilor", "Castelul Karoly",
"Castelul Peles", "Castelul Sturdza", "Castelul Roman",
"Cazanele Dunarii", "Cazinoul din Constanta",
"Cetatea Bastioara", "Cetatea Fagaras",
"Biserica fortificata de la Prejmer", "Cheile Bicazului",
"Cimitirul vesel din Sapanta", "Lacul Colibita",
"Delta Dunarii", "Epava din Costinesti",
"Focurile Vii de la Luger", "Hanul Ancutei", "Insula Ovidiu",
"Lacul Albastru", "Lacul Sfanta Ana", "Lacul ochiul Beiului",
"Lacul Bucura", "Lacul Capra", "Lacul Rosu", "Lacul Vidra",
"Lacul Vulturilor", "Mocanita din Maramures",
"Parcul Nicolae Romanov din Craiove",
"Piata Operei din Timisoara", "Pestera Scarisoara",
"Pestera Ursilor", "Piata Sfatului din Brasov",
"Podul lui Dumnezeu", "Salina Praid", "Salina Turda",
"Cetatea Sarmizegetusa", "Sfinxul din Bucegi",
"Piata mare din Sibiu", "Vulcanii Noroiosi" };
@Override
public CharSequence getPageTitle(int position) {
return title[position];
}
@Override
public int getCount() {
return NUM_VIEWS;
}
/**
* Create the page for the given position. The adapter is responsible
* for adding the view to the container given here, although it only
* must ensure this is done by the time it returns from
* {@link #finishUpdate()}.
*
* @param container
* The containing View in which the page will be shown.
* @param position
* The page position to be instantiated.
* @return Returns an Object representing the new page. This does not
* need to be a View, but can be some other container of the
* page.
*/
@Override
public Object instantiateItem(View collection, int position) {
ImageView view = new ImageView(MainActivity.this);
view.setImageResource(pics[position]);
view.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Page" + pics,
Toast.LENGTH_LONG).show();
}
});
((ViewPager) collection).addView(view, 0);
return view;
}
/**
* Remove a page for the given position. The adapter is responsible for
* removing the view from its container, although it only must ensure
* this is done by the time it returns from {@link #finishUpdate()}.
*
* @param container
* The containing View from which the page will be removed.
* @param position
* The page position to be removed.
* @param object
* The same object that was returned by
* {@link #instantiateItem(View, int)}.
*/
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((ImageView) view);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
/**
* Called when the a change in the shown pages has been completed. At
* this point you must ensure that all of the pages have actually been
* added or removed from the container as appropriate.
*
* @param container
* The containing View which is displaying this adapter's
* page views.
*/
@Override
public void finishUpdate(View arg0) {
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Take appropriate action for each action item click
switch (item.getItemId()) {
case R.id.gallery:
startActivity(new Intent(MainActivity.this, Galerie.class));
break;
case R.id.ro:
startActivity(new Intent(MainActivity.this, Romania.class));
break;
}
return false;
}
}
最佳答案
第 1 步:声明一个变量“frgmnt_Indicator”,用于指示同一 Activity 中的当前页面第 2 步:每次 viewPager 加载新 fragment 时,将相应的值分配给“frgmnt_Indicator”
第 3 步:onOptionItemSelected 方法,检查“frgmnt_Indicator”中的值并相应地在 viewPager 中加载 fragment
在 onOptionItemSelected 方法中
pager.getCurrentItem() 会给你位置,通过位置你知道加载了哪个图像,通过应用开关盒你可以做你想做的事
关于android - 如何在 Android actionbar 中使用 switch-case?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23516403/
我在我的应用程序中设置了一个操作栏。我通过调用 Activity.getActionBar() 取回 ActionBar .然后我设置了我需要的所有选项卡感谢 ActionBar.addTab()和
我正在为 Android 平板电脑 (XOOM) 开发应用程序,我想知道是否可以将操作栏放在屏幕底部,而不是顶部(这是默认选项) . 谢谢。 最佳答案 如果您在 Activity 中获取 Action
我很想为我用“ActionBar Sherlock”库导入的 ActionBar 设置一个背景图像。但是,我在 Internet 上找不到任何有关如何使用 XML 独特地设置 BackgroundIm
我需要在栏下方显示子菜单,而不是在栏本身的顶部。 复制下面我的 actionbar xml 在activity中(
我已经阅读了 AppCompat 库中的工具栏及其所有功能。我在 android 开发者博客 (here) 中注意到的一些事情是: Toolbar is fully supported in AppC
我试图做一个 Espresso 测试来检查 actionbar 是否隐藏/显示,但我似乎无法弄清楚如何将它与 Espresso.onView(...) 匹配。 Afaik它没有ID,对吧? 非常感谢
我们怎样才能让操作栏和操作栏选项卡变成纯白色。我正在使用 android-support-v7-appcompat 库来支持向后兼容性。 style/Theme.AppCompat.Light.Dar
在 Galaxy S3 上,我遇到一个问题,即 ActionBar 中的一个按钮被配置为 showAsAction="always"并且同时显示在硬件溢出菜单和操作按钮上。我希望它不显示在硬件溢出菜单
我正在学习教程 https://www.youtube.com/watch?v=VVahIc8yENk我得到了错误 java.lang.NullPointerException: Attempt to
背景 我希望在 PreferenceActivity 上显示一个 ActionBar,因为它不适用于 Honeycomb 之前的设备(即使在支持库中)。 因为这样的类在支持库中不可用,所以我不能只调用
我想实现将下载数据并将其设置到 ActionBar 选项卡中的应用程序。我已经实现了它,但我还有一件事要做。我试过添加操作栏列表,像这样 one , 但 android 不允许同时使用 Tabs 和
我希望我的 ActionBar 和 Tabs 看起来像这样。 请忽略颜色 目前看起来是这样 由于我的主题,我必须在 java 中设置自定义 ActionBar。 actionBar.setDispla
我目前正在某些页面上设置 ActionBar 副标题,但在某些页面上我不想有副标题。 我可以简单地将字幕文本设置为空,但这只会删除文本。它仍然占据字幕空间,从而将标题推高。可能很难解释,所以我用图片说
import android.app.ActionBar; import android.app.FragmentTransaction; import android.content.Intent;
我正在使用 ActionBarSherlock ,并尝试隐藏/显示全屏图像的 ActionBar,使用: getSupportActionBar.hide(); 和 getSupportActionB
我在我的简单应用程序上使用 ActionBarSherlock,如果用户在主页/主要 Activity 中,我想隐藏主页按钮。我了解如何使用 setHomeButtonEnabled(false) 执
我发现自己在 3 个单独的 Activity 中为我的 actionBar (actionBarSherlock) 列表重写了相同的代码。所有 3 个都使用相同的 actionBar,它有 3 个项目
我正在使用 ActionBarSherlock 在关于 ActionBar 标签高度的类似问题中,我使用了: @style/blah1 @style/blah2 80dp .
我一直在寻找是否有任何关于如何始终在 ActionBar 下方显示 ActionBar 选项卡的信息,即使当手机横向时也是如此。我知道它会根据屏幕上是否有足够的空间来自动将选项卡放置在 ActionB
我在 ActionBar 上方显示的 ActionBar Tabs 出现了这种奇怪的行为。当我为 ActionBar 设置自定义 View 时,这恰好发生了。我正在使用 Roman Nurik 的示例
我是一名优秀的程序员,十分优秀!