通过活动,我曾经这样做:
在活动1中:
Intent i = new Intent(getApplicationContext(), MyFragmentActivity.class);
i.putExtra("name", items.get(arg2));
i.putExtra("category", Category);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
在活动2中:
Item = getIntent().getExtras().getString("name");
Run Code Online (Sandbox Code Playgroud)
你是如何使用Fragments做到这一点的?我也在使用兼容性库v4.
它是否属于FragmentActivity?还是实际的碎片?它采用哪种方法?的onCreate?onCreateView?另一个?
我可以看一下示例代码吗?
编辑:值得注意的是我试图将Activity 1保持为Activity(或者实际上是ListActivity,我点击时传递listitem的意图)然后传递给一组tabbed-fragments(通过Fragment Activity)和我需要任何一个标签才能获得额外的东西.(我希望这可能吗?)
根据我的理解,在预览阶段的早期,似乎没有办法只在CardView
没有Java的黑客攻击的情况下在XML中设置高程.既然官方发布已经发布,有没有办法在XML中执行此操作而无需编写Java代码来设置高程?
我试过card_view:cardElevation
没有效果.我曾经想过当我使用5.0的模拟器时一切都很好.但是现在我在我的实际设备上使用正式版本,我的所有内容都CardView
消失了
Pre Lollipop,效果很好.
这是我的完整xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="match_parent"
android:id="@+id/cv1"
card_view:cardElevation="4dp"
android:layout_margin="6dp"
card_view:cardCornerRadius="3dp"
android:layout_height="match_parent">
Run Code Online (Sandbox Code Playgroud) android android-appcompat android-cardview android-elevation
我使用FloatingActionButton
Google支持设计库中的官员收到了一个错误.
这是我的LogCat.
android.view.InflateException: Binary XML file line #34: Error inflating class android.support.design.widget.FloatingActionButton
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:655)
at android.view.LayoutInflater.inflate(Unknown Source)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at ---.---.com.---.SubCategoryFragment.onCreateView(SubCategoryFragment.java:47)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:607)
... 24 more …
Run Code Online (Sandbox Code Playgroud) android android-appcompat inflate-exception floating-action-button android-support-design
在我的主FragmentActivity
菜单中,我设置了这样的自定义ActionBar
标题:
LayoutInflater inflator = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.custom_titlebar, null);
TextView tv = (TextView) v.findViewById(R.id.title);
Typeface tf = Typeface.createFromAsset(this.getAssets(),
"fonts/capsuula.ttf");
tv.setTypeface(tf);
tv.setText(this.getTitle());
actionBar.setCustomView(v);
Run Code Online (Sandbox Code Playgroud)
这很完美.但是,一旦我打开其他Fragments
,我希望标题改变.我不知道如何访问Main Activity
来做到这一点?在过去,我这样做了:
((MainFragmentActivity) getActivity()).getSupportActionBar().setTitle(
catTitle);
Run Code Online (Sandbox Code Playgroud)
有人可以就正确的方法提出建议吗?
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent" >
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:ellipsize="end"
android:maxLines="1"
android:text=""
android:textColor="#fff"
android:textSize="25sp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) android android-fragments android-actionbar android-fragmentactivity
我有bootstrap v3.
当我按下菜单项时,我使用class="active"
on my navbar
并且它不会切换.我知道如何使用jQuery
并构建一个单击函数,但我认为这个功能应该包含在bootstrap中?那么也许这是一个JavaScript问题?
这是我的头文件,包含我的js/css/bootstrap文件:
<!-- Bootstrap CSS -->
<link rel="stylesheet" href= "/bootstrap/css/bootstrap.css" />
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css" />
<link rel="stylesheet" href= "/stylesheets/styles.css" />
<!--jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<!-- Bootstrap JS -->
<script src="/bootstrap/js/bootstrap.min.js"></script>
<script src="/bootstrap/js/bootstrap-collapse.js"></script>
<script src="/bootstrap/js/bootstrap-transition.js"></script>
Run Code Online (Sandbox Code Playgroud)
这是我的navbar
代码:
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbarCollapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/index.php">MyBrand</a>
</div>
<div class="collapse navbar-collapse navbarCollapse">
<ul class="nav navbar-nav …
Run Code Online (Sandbox Code Playgroud) 我有一个LoginActivity
(用户登录).它基本上是它自己Activity
的主题就像一个对话框(看起来像一个对话框).它出现在一个SherlockFragmentActivity
.我想要的是:如果登录成功,应该有两个FragmentTransaction
更新视图.这是代码:
在LoginActivity
,如果成功登录,
setResult(1, new Intent());
Run Code Online (Sandbox Code Playgroud)
在SherlockFragmentActivity
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
LoggedStatus = PrefActivity.getUserLoggedInStatus(this);
FragmentTransaction t = MainFragmentActivity.this.getSupportFragmentManager().beginTransaction();
SherlockListFragment mFrag = new MasterFragment();
t.replace(R.id.menu_frame, mFrag);
t.commit();
// Set up Main Screen
FragmentTransaction t2 = MainFragmentActivity.this.getSupportFragmentManager().beginTransaction();
SherlockListFragment mainFrag = new FeaturedFragment();
t2.replace(R.id.main_frag, mainFrag);
t2.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
它在第一次提交时崩溃,使用此LogCat:
E/AndroidRuntime(32072): Caused by: java.lang.IllegalStateException: Can not perform this action …
Run Code Online (Sandbox Code Playgroud) android android-intent android-activity android-fragmentactivity
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/etTweetReview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:ems="10"
android:hint="Discuss up to 140 characters"
android:imeOptions="actionDone"
android:inputType="textCapSentences"
android:lines="2"
android:maxLength="140"
android:paddingBottom="10dp"
android:singleLine="false" />
<Button
android:id="@+id/theReviewBarButton"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:text="Submit Review"
android:textSize="22sp" />
<Spinner
android:id="@+id/spinnerSort"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" />
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:scrollbars="none"
android:layout_marginRight="5dp"
android:layout_marginTop="8dp" >
</ListView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
当EditText框到达结尾时,我希望它包装到下一行.现在,它只是继续向右移动屏幕上的所有内容.
首次创建FragmentActivity时如何设置默认选项卡?我有5个标签,并希望它打开到标签2,而不是1.它似乎应该比它更容易!
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_layout);
mSectionsPagerAdapter = new SectionsPagerAdapter(
getSupportFragmentManager());
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager
.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
actionBar.addTab(actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
}
public void onTabUnselected(ActionBar.Tab tab,
FragmentTransaction fragmentTransaction) {
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
public void onTabSelected(ActionBar.Tab …
Run Code Online (Sandbox Code Playgroud) 我以前使用过共享类型的意图,例如:
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "---" });
intent.putExtra(Intent.EXTRA_SUBJECT, "---");
startActivity(Intent.createChooser(intent, "Contact Us!"));
Run Code Online (Sandbox Code Playgroud)
但是,这基本上与电子邮件/彩信和其他文本或文档类型的应用程序共享.你如何做同样的事情,但包括社交分享,如Facebook,Twitter和谷歌Plus(名称重要的).我要分享的是应用程序,文本中写着"嘿下载此链接以查看应用程序!" (或类似的东西).
我的Action Bar中有一个搜索小部件,如下所示:
(1)如何更改"iPhone"文本的颜色?
(2)此外,如果您注意到灰色X - 整个搜索小部件也是该颜色,当它处于图标位置时.我在Holo.Theme.Light并使用我自己的mods.
如何在styles.xml文件中更改窗口小部件的这两种样式(假设您在哪里对搜索窗口小部件进行更改)?