小编Bla*_*elt的帖子

启动片段的最佳方式

我有以下场景.tabhost管理四个ListFragmnet.对于每个ListFragment,我都有几个片段.例如,与ListFragmnet 1相关联,我有片段A,B,C,并且可以发生片段A"启动"片段B,它可以启动片段C.是否正确允许片段相互启动或者是否有更正确的方法?

谢谢

编辑:

TabFragmentActivity:
    tab1(ListFragment): fragment 1 -> fragment 2 -> .... -> fragment N
    tab2(ListFragment): fragment 1 -> fragment 2 -> .... -> fragment N
    tab3(ListFragment): fragment 1 -> fragment 2 -> .... -> fragment N
    tab4(ListFragment): fragment 1 -> fragment 2 -> .... -> fragment N
Run Code Online (Sandbox Code Playgroud)

这是想要实现的.那么,我的问题是,每个标签管理从片段1到片段N的事务的最佳方法是什么?

再次谢谢

android android-fragments

6
推荐指数
1
解决办法
5250
查看次数

Android - 尝试在空对象引用上调用虚方法'void android.support.v4.app.Fragment.setMenuVisibility(boolean)'

以下是错误的完整堆栈跟踪:http://pastebin.com/5dQHkUw3

只有在我开始在项目中使用片段后才会出现错误,因为我想提供JSON提要.在我创建Tabs,NavigationDrawer等之前没事.

MainActivity.java

公共类MainActivity扩展ActionBarActivity实现MaterialTabListener {

private Toolbar mToolbar;
private NavigationDrawerFragment mDrawerFragment;
private DrawerLayout mDrawerLayout;

private MaterialTabHost mTabHost;
private ViewPager mViewPager;

public static final int SERVICES_ALL = 1;
public static final int SERVICES_FEATURED = 2;
public static final int SERVICES_NEW = 3;

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

    mToolbar = (Toolbar) findViewById(R.id.app_bar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
    mDrawerFragment.setUp(R.id.fragment_navigation_drawer, mDrawerLayout, mToolbar);

    mTabHost = (MaterialTabHost) findViewById(R.id.materialTabHost);
    mViewPager = (ViewPager) findViewById(R.id.viewPager);

    MyPagerAdapter adapter = …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager fragmentstatepageradapter

6
推荐指数
1
解决办法
2万
查看次数

android complex onDraw()方法与自定义布局

我是android开发新手,我想创建一个自定义图表视图(我知道有一些lib,但我想创建一个视图).我希望它有图表,轴和图表名称(标签).我看到两个选项如何实现它.

1)对视图进行子类化并具有复杂的绘制方法.像这样的东西(可能有帮助类来绘制轴,标签等)

drawChart();
drawAxes();
drawLabels();
Run Code Online (Sandbox Code Playgroud)

2)创建一个View用于绘制图表本身的View子类,一个用于水平轴的View子类,一个用于垂直轴的子类,以及一个Label.然后创建一个ViewGroup子类并实现自定义布局.

哪种方法更可取?

java user-interface android

5
推荐指数
1
解决办法
192
查看次数

如何将 ActionMode 完成按钮对齐到 ActionBar 的右侧而不是左侧?

正如标题所示,有没有办法将ActionMode “完成”按钮放在右侧而不是左侧?或者我应该隐藏它并添加一个菜单按钮并管理它onClick

android actionbarsherlock android-actionbar

5
推荐指数
1
解决办法
598
查看次数

为什么从未调用过setOnShowListener?

这是我的代码:

mDialog.show();
mDialog.setOnShowListener(new OnShowListener() {
  @Override
  public void onShow(DialogInterface dialog) {
    //some code
  }
});
Run Code Online (Sandbox Code Playgroud)

断点显示//some code从未调用过.你能帮我理解发生了什么吗?

它是API 8及更高版本(由我的应用程序支持)

android

5
推荐指数
1
解决办法
2610
查看次数

共享首选项始终返回默认值

这是我用来在首选项中创建和存储值的代码。传出是字符串变量。

SharedPreferences sp = getSharedPreferences(outgoing, Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();                
editor.putString("PhoneNo","Hi");
editor.commit();
Run Code Online (Sandbox Code Playgroud)

这是从 SharedPreference 获取值的代码。

SharedPreferences sp 
=getSharedPreferences(outgoing,Activity.MODE_PRIVATE);
String calln = sp.getString("PhoneNo","0");
Toast.makeText(mContext, "SHARED"+calln,Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

android sharedpreferences

5
推荐指数
1
解决办法
2910
查看次数

无法在android studion 1.0.1中解析方法add(int,new tFragment()).commit()

我正在使用android studio 1.0.1中的片段.正如网络进程在主UI中做得不好,我将代码移动到包含片段的不同类.但事后发生的事情并没有帮助我继续前进.我得到的错误是无法解决方法add(R.id.container, new com.sunshine.example.sunshine.app.Fragment).commit(); 这里是我的MainActivity类的代码片段,但所有与Fragment类一样好.

package com.sunshine.example.sunshine.app;
      import android.support.v7.app.ActionBarActivity;
      import android.support.v4.app.Fragment; 
      import android.os.Bundle;    
      import android.view.Menu; 
      import    android.view.MenuItem; 

      public class    MainActivity extends    ActionBarActivity {

      @Override    
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      if (savedInstanceState == null) {
          getSupportFragmentManager().beginTransaction().
                  add(R.id.container, new ForecastFragment()).commit();


      }    }

      @Override    public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;    }
      @Override    public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

5
推荐指数
1
解决办法
1万
查看次数

android - 为什么我的弹出菜单是黑色的?

我正在使用内置的 Android 弹出菜单,但结果是这样的:
在此输入图像描述

PopupMenu popupMenu = new PopupMenu(context, holder.menu);
popupMenu.getMenuInflater().inflate(R.menu.item_menu, popupMenu.getMenu());
Run Code Online (Sandbox Code Playgroud)

和 item_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/one"
        android:title="item1"/>
    <item
        android:id="@+id/two"
        android:title="item2"/>
    <item
        android:id="@+id/three"
        android:title="item3"/>
</menu>  
Run Code Online (Sandbox Code Playgroud)

以及主题的样式

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="popupMenuStyle">@style/PopupMenu</item>
</style>

<style name="PopupMenu" parent="Widget.AppCompat.PopupMenu">
    <item name="android:popupBackground">#FFFFFF</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android popup

5
推荐指数
2
解决办法
3320
查看次数

从按钮中的文本中删除下划线(Android)

我正试图从我的按钮中删除文本的下划线.这是代码,我强调它:

buttonNews.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);
Run Code Online (Sandbox Code Playgroud)

我也不明白为什么有人放在button.getPaintFlags()括号内,它与上面的代码一起工作正常:

button.setPaintFlags(button.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
Run Code Online (Sandbox Code Playgroud)

您能否建议如何以编程方式删除按钮内的文本下划线?

android button underline

5
推荐指数
1
解决办法
2908
查看次数

是否可以颠倒在垂直 LinearLayout 中布局的视图顺序?

默认情况下,垂直 LinearLayout 中的视图是从上到下测量和布局的,就像水平视图从左到右一样。

通常,如果我想要一个布局从下到上测量它的孩子,我通常使用RelativeLayout,每个孩子都有一个id,而底部视图的layout_alignParentBottom设置为true,其余的有“layout_above”设置为它们下面的视图:

<RelativeLayout>
 <View android:id="@+id/bottomView android:layout_alignParentBottom="true" />

 <View android:id="@+id/secondView android:layout_above="@+id/bottomView " />

 <View android:id="@+id/thirdView android:layout_above="@+id/secondView " />

 ...
</RelativeLayout
Run Code Online (Sandbox Code Playgroud)

但这设置起来很烦人,如果添加到另一个布局中可能会出现问题。

是否有可能在 LinearLayout 上有这种行为?我唯一发现的是LayoutDirection,但这似乎属于RTL方向(水平),所以它不起作用。

android android-layout android-linearlayout

5
推荐指数
1
解决办法
2566
查看次数