标签: android-fragments

Android:FragmentList项目重复出现

我在MainActivity中创建了一个包含5个选项卡的ViewPager。在第一个选项卡中,我放置了一个ListView以便显示一些项目。问题是,每当我滑动到另一个选项卡然后返回第一个选项卡时,列表中的项目就会重复(即列表包含ABC,然后包含ABCABC)。奇怪的是,仅当我向第二个标签页滑动时才发生这种情况。这是我的代码:

主要活动 :

public class MainActivity extends FragmentActivity implements ActionBar.TabListener {
    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private ActionBar actionBar;

    //private String[] tabs = { "Mixed", "Videos", "Audio", "Text", "Picture" };
    final int[] ICONS = new int[] {
            R.drawable.mixed,
            R.drawable.video,
            R.drawable.audio,
            R.drawable.note,
            R.drawable.photo
    };

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


        viewPager = (ViewPager) findViewById(R.id.pager);
        actionBar = getActionBar();
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

        viewPager.setAdapter(mAdapter);
        actionBar.setHomeButtonEnabled(false);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        // Adding Tabs
        for (int i=0;i<ICONS.length;i++) {

            actionBar.addTab(actionBar.newTab().setIcon(MainActivity.this.getResources().getDrawable(ICONS[i]))
                    .setTabListener(this));
        }

        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override …
Run Code Online (Sandbox Code Playgroud)

android listview listadapter android-fragments

0
推荐指数
1
解决办法
1304
查看次数

如何在Android中将意图从活动传递到片段

您好Android新手如何将Activity从Activity赋予片段?我知道从Fragment到Activity就像这样

Intent intent=new Intent(getActivity(),nextActivity.class)
StartActivity(intent);
Run Code Online (Sandbox Code Playgroud)

但我想从Activity to Fragment.

android android-fragments android-activity

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

Android Tab Fragment(Eclipse ApI 22)中不推荐使用ActionBarActivity和ActionBar.TabListener

ActionBar.TabListener在My Tab Fragment中实现了.

我更新了API 22,更新它展示后ActionBar.TabListenerActionBarActivity弃用.

像我在我的代码中使用的那样

public class Tabview_Landing extends ActionBarActivity  implements ActionBar.TabListener 
{
}
Run Code Online (Sandbox Code Playgroud)

链接帮助我解决这个问题.

android android-fragments android-tabs

0
推荐指数
1
解决办法
844
查看次数

片段错误?

大家好我正在开发一个Android应用程序,我是这个开发的新手.我面临的错误是:

错误:(134,19)错误:RecyclerTouchListener不是抽象的,并且不会覆盖OnItemTouchListener中的抽象方法onRequestDisallowInterceptTouchEvent(boolean)

以下是我出现上述错误的代码

FragmentDrawer.java

public class FragmentDrawer extends Fragment {

    private static String TAG = FragmentDrawer.class.getSimpleName();

    private RecyclerView recyclerView;
    private ActionBarDrawerToggle mDrawerToggle;
    private DrawerLayout mDrawerLayout;
    private NavigationDrawerAdapter adapter;
    private View containerView;
    private static String[] titles = null;
    private FragmentDrawerListener drawerListener;

    public FragmentDrawer() {

    }

    public void setDrawerListener(FragmentDrawerListener listener) {
        this.drawerListener = listener;
    }

    public static List<NavDrawerItem> getData() {
        List<NavDrawerItem> data = new ArrayList<>();


        // preparing navigation drawer items
        for (int i = 0; i < titles.length; i++) {
            NavDrawerItem navItem …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

0
推荐指数
1
解决办法
1315
查看次数

两次打开Map Fragment时应用程序崩溃

我正在设计我的应用程序具有向后兼容性,所以我已经实现了支持和设计库,以使用导航抽屉和其他与新的Android版本相关的效果.

导航抽屉管理总共5个片段.其中一个片段包含一张地图:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        class="com.google.android.gms.maps.MapFragment" />
Run Code Online (Sandbox Code Playgroud)

-

public class LocationFragment extends Fragment {

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

        /*Try to obtain the map from the SupportMapFragment*/
        mMap = ((MapFragment) getActivity().getFragmentManager().findFragmentById(R.id.map)).getMap();
Run Code Online (Sandbox Code Playgroud)

这就是我如何从mainActivity上的导航抽屉管理片段:

public class MainActivity extends AppCompatActivity implements DrawerLayout.DrawerListener{

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

        navView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
        @Override public boolean onNavigationItemSelected(MenuItem menuItem) {
            menuItem.setChecked(true);
            displayFragment(menuItem.getItemId());
            drawerLayout.closeDrawers();
            return true;
        } …
Run Code Online (Sandbox Code Playgroud)

android android-maps android-fragments

0
推荐指数
1
解决办法
1501
查看次数

如何将这个片段放在另一个片段之上?

我有这个观点:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/DeepSkyBlue"
    tools:context=".MainPreviewActivity"
    android:weightSum="5">

    <fragment
        android:name="com.apps.foo.bar.CleanPreviewFragment"
        android:id="@+id/clean_preview_fragment"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_width="match_parent"/>

    <fragment
        android:name="com.apps.foo.bar.ProcessedPreviewFragment"
        android:id="@+id/processed_preview_fragment"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_width="match_parent"/>

    <View
        android:id="@+id/center_dummy_view"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_width="match_parent"/>

    <ListView
        android:layout_height="0dp"
        android:layout_weight="2"
        android:layout_width="match_parent"
        android:id="@+id/lvImageProcessChoices"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我想要将带有id的片段clean_preview_fragment替换为带有id的片段processed_preview_fragment.

我的应用程序需要在后台运行一个摄像头,以便获取帧,处理它们并在其中显示它们processed_preview_fragment.

这是我的代码:

processedPreviewFragment = (ProcessedPreviewFragment) fragmentManager.findFragmentById(R.id.processed_preview_fragment);

if(getResources().getConfiguration().orientation == getResources().getConfiguration().ORIENTATION_PORTRAIT){
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.replace(R.id.clean_preview_fragment, processedPreviewFragment);
            fragmentTransaction.commit();
        }
Run Code Online (Sandbox Code Playgroud)

那是我的MainActivity,onCreate.

我收到此错误:

java.lang.IllegalStateException: Can't change container ID of fragment ProcessedPreviewFragment{41b14770 #1 id=0x7f0e0050}: was 2131624016 now 2131624015
Run Code Online (Sandbox Code Playgroud)

android android-fragments

0
推荐指数
1
解决办法
983
查看次数

共享首选项空指针异常

我现在已经有这个问题了一段时间,每当我试图解决它时,我已经放弃了几个小时.

这是我用来与共享首选项进行交互的类.

public class AppStatus {

    final static String TAG = "AppStatus";
    private static AppStatus instance = new AppStatus();
    static Context context;
    boolean connected = false;
    public  boolean IF_PAST = false;
    ConnectivityManager connectivityManager;

    public static final String FILE_NAME = "appdata";
    public final String AUTH_KEY = "auth_key";
    public final String TEAM_NAME = "team_name";
    public final String TEAM_LOGO = "team_logo";
    public final String LOGIN_STATUS = "login_status";
    public final String CURRENT_TEAM = "current_team";
    public final String TOTAL_TEAMS = "total_teams";
    public final String USER_NAME …
Run Code Online (Sandbox Code Playgroud)

android sharedpreferences android-fragments android-activity

0
推荐指数
1
解决办法
949
查看次数

Android应用程序:片段,活动,导航抽屉结构/体系结构

我不熟悉在Android中使用Fragments.

我开始使用带有碎片的导航抽屉开发应用程序,但意识到我将有超过1个活动.

请查看我当前应用计划的图表,并建议是否有更好的方法:

主要活动,包含3个片段(您可以通过NavDrawer导航到每个片段)活动2将滑动选项卡,其中每个选项卡都是片段.但是这样我的NavDrawer就没有这个标签/片段的链接.

有没有更好的办法?我应该完全避免使用第二项活动吗?或者图表看起来合乎逻辑?:

当前图表

android android-fragments android-activity

0
推荐指数
1
解决办法
1334
查看次数

为什么getResources().getString()返回null?

NullPointerException每当我打电话时,我总会得到:

getApplicationContext().getResources().getStringArray(R.array.days);
Run Code Online (Sandbox Code Playgroud)

DialogFragment在我的电话里打电话给我Activity.我也尝试过使用getActivity(),但这对我也不起作用.有没有人对这个问题有任何想法?

android nullpointerexception android-fragments android-dialogfragment android-resources

0
推荐指数
1
解决办法
4100
查看次数

onback压制的数据没有显示在片段中

我在我的应用程序中使用导航抽屉,我有像F1,F2等片段...在每个fragment我解析数据和显示listview,如果我通过我的应用程序,如F1> F2> F3等一切正常on ..但问题是如果我从F3转到F2,我在F2片段中的数据没有显示,只显示空白页,问题是什么?有人可以帮忙吗?

我的F1

public class Categriesdrawers extends Fragment{

    private ImageView drwr;
    private SlidingDrawer sldrwr;

    private ProgressDialog pDialog;
    JSONArray categorylist=null;
    private ListView listview;
    private ArrayList<HashMap<String,String>> aList;
    private static String INTEREST_ACCEPT_URL = "http:.ashx?action=category";
    private static final String INTEREST_ACCEPT="categorylist";
    private static final String INTERESTACCEPT_USER_ID="Id";
    private static final String INTEREST_ACCEPT_NAME="categoryname";

    private CustomAdapterCatagory adapter;
    private TextView noacpt;


    private ListView catlist;

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

        drwr=(ImageView)v.findViewById(R.id.handle);
        sldrwr=(SlidingDrawer)v.findViewById(R.id.bottom);

        sldrwr.open();
        new …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-fragments onbackpressed

0
推荐指数
1
解决办法
6590
查看次数