Tag: android fragments

android.view.InflateException:二进制XML文件行#10:错误膨胀类片段

我创建的应用程序遵循教程http://www.techotopia.com/index.php/Using_Fragments_in_Android_-_A_Worked_Example但我有一个错误。 logcat的: 05-02 08:16:22.044: D/dalvikvm(1846): Late-enabling CheckJNI 05-02 08:16:22.080: D/AndroidRuntime(1846): Shutting down VM 05-02 08:16:22.080: W/dalvikvm(1846): threadid=1: thread exiting with uncaught exception (group=0xa4d81b20) 05-02 08:16:22.096: E/AndroidRuntime(1846): FATAL EXCEPTION: main 05-02 08:16:22.096: E/AndroidRuntime(1846): Process: com.example.myfragmentexample, PID: 1846 05-02 08:16:22.096: E/AndroidRuntime(1846): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myfragmentexample/com.example.myfragmentexample.MainActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class fragment […]

将数据传递给添加的片段 – IlligalStateException:片段已处于活动状态

我有两个活跃的片段并在平板电脑上并排显示。 当用户从fragmentA中的listview中选择一个项时,我需要将一些数据从fragmentA传递给fragmentB。 尝试将活动中的数据传递到fragmentB时出现问题。 我收到错误:IlligalStateException:片段已经激活。 我从这样的活动传递数据: @Override public void onTrackSelected(String trackId) { topBarFragment topBarFragment = (topBarFragment)getSupportFragmentManager().findFragmentById(R.id.topBar_fragment); Bundle bundle = new Bundle(); bundle.putString(“trackId”, trackId); //set Fragmentclass Arguments topBarFragment.setArguments(bundle); topBarFragment.onTrackSelected(); } 然后在fragmentB中接收如下: public void onTrackSelected() { String trackId = getArguments().getString(“trackId”); Toast.makeText(getActivity().getApplicationContext(), trackId,Toast.LENGTH_SHORT).show(); } } logcat的: 02-25 02:58:22.190: E/AndroidRuntime(29593): FATAL EXCEPTION: main 02-25 02:58:22.190: E/AndroidRuntime(29593): java.lang.IllegalStateException: Fragment already active […]

java.lang.NullPointerException:尝试在空对象引用上调用虚方法’android.view.View android.view.View.findViewById(int)’

我有一个BlankFragment package com.hfad.addingafragmenttoframelayout; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import org.w3c.dom.Text; /** * A simple {@link Fragment} subclass. */ public class BlankFragment extends Fragment { public BlankFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.d(“message”,”onCreateView() of BlankFragment”); […]

android.view.InflateException扩展类片段时出错

我试图从5天后解决这个问题,但我仍然没有解决它。 主要Java代码 package com.beproject.ourway; import android.app.Fragment; import android.app.FragmentManager; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.FragmentActivity; import android.support.v4.widget.DrawerLayout; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast; public class MainHome extends FragmentActivity{ private String[] mNavigationDrawerItemTitles; private DrawerLayout mDrawerLayout; private ListView mDrawerList; Fragment fragment = null; FragmentManager fragmentManager; @Override protected void onCreate(Bundle savedInstanceState) […]

Android – 现有片段与Facebook SDK冲突?

我正在开发一个Android应用程序,我想将Facebook登录集成到主页面。 我遵循这些指示: https://developers.facebook.com/docs/android/login-with-facebook/#step1 演练的一部分列出了更改MainActivity类以扩展FragmentActivity。 但是,我的MainActivity类已经扩展了它,因为我在主视图上实现了内容滑块。 MainActivity的原始onCreate代码是: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Instantiate a ViewPager and a PagerAdapter. mPager = (ViewPager) findViewById(R.id.pager); mPagerAdapter = new ScreenSlidePagerAdapter(getFragmentManager()); mPager.setAdapter(mPagerAdapter); mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { invalidateOptionsMenu(); } }); } 而且这很有效。 在Facebook登录演练之后,我按照字面意思添加了一个新的“MainFragment”类: public class MainFragment extends Fragment { @Override public View onCreateView(LayoutInflater […]

我如何在Android中实现片段的通用ArrayList?

所以我试图实现一个方法,使用我的所有Fragment类来创建一个Array List 在我的MainActivity.java类中Array List ,这是一个带有扩展Fragment类的不同对象的ArrayList 。 我这样做的主要原因是使用android.support.v4.jar支持库ViewPager视图加载片段。 这是我到目前为止所拥有的,但我无法添加extend Fragment到我的ArrayList的不同对象 public List getFragments(){ List ipsumFragments = new ArrayList(); ipsumFragments.add(BaconIpsumFragment.newInstance()); ipsumFragments.add(BuseyIpsumFragment.newInstance()); ipsumFragments.add(LoremIpsumFragment.newInstance()); return ipsumFragments; } 我只是试图使用ViewPager和多个片段来解决问题。如果有人能帮助我,我将非常感激。 这是我的第一个Fragment类,其他是完全相同但命名不同并使用不同的XML布局 public class BaconIpsumFragment extends Fragment{ public static final BaconIpsumFragment newInstance(){ BaconIpsumFragment baconFragment = new BaconIpsumFragment(); Bundle args = new Bundle(); baconFragment.setArguments(args); return baconFragment; } @Override public void onAttach(Activity activity){ // […]

使用ViewPager在片段中创建Listview

我正在努力开发像facebook这样的时间轴。 你看,我有一个ViewPager来导航用户之间的“片段”,如feed,profile,about等。 我有“main.xml”,就像这样只有viewpager; 我还有fragmenta.xml,fragmentb.xml,fragmentc.xml。 让我们检查一下fragmenta.xml,在里面,我把; 并使singlerow.xml将这些框创建为这样的时间轴; 我只使用一个静态盒子就可以了。 但是当我尝试运行这个结构时,我在调试模式上出现错误“Source not found EDIT SOURCE LOOKUP PATH” 在我尝试将我的适配器和其他关于listview的东西放入fragmentA.java之后; import android.content.Context; import android.content.res.Resources; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnCreateContextMenuListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; public class FragmentA extends Fragment { ListView list; String[] sLikes; String[] sTimes; int[] images={R.drawable.p1, R.drawable.p2,R.drawable.p3}; @Override […]

订阅者在使用Otto时不会被解雇

我在Android上尝试使用Otto,我试图将我的片段中的消息发送回活动。 这是我的代码的基础知识: 我的巴士提供商: public final class BusProvider { private static final Bus mInstance = new Bus(); private BusProvider() {} public static Bus getBusProviderInstance() { return mInstance; } } 我的活动有以下代码: public class MyActivity extends BaseActivity { // …. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); BusProvider.getBusProviderInstance().register(this); // …. } @OnClick(R.id.profile_image) public void onImageClicked() { // … […]

防止在设备旋转时重新创建Android片段

问题: 当我旋转设备时,我的应用程序中的片段中包含的信息将被重新加载。 由于这个应用程序从互联网上提取信息,这意味着在重新收集数据的同时缺乏数据。 我试过的: 我已经阅读了许多文章和S / O问题,这些问题提供了一些通用指针,并尝试了他们的解决方案,从android:configChanges=”orientation|screenSize”添加setRetainInstance(true); 在我的MainActivity和FragmentActivity 。 这些都没有阻止我的片段重新加载。 我在应用程序中的另一个活动中使用了android:configChanges (一个详细活动,当用户选择新闻故事时激活)并且它在那里正常工作,防止活动重新加载。 我的应用程序的结构: 这是一个简单的应用程序,它从“黑客新闻”API中提取数据并将其显示给用户。 有一个NavigationDrawer供用户选择不同的新闻类型。 NavigationDrawer中的每个项目都是在MainActivity.class中加载的不同Fragment。 这里HomeFragment.class的片段是HomeFragment.class ,它载有主要新闻故事。 我为什么在这里问: 我似乎无法找到任何与我目前的应用程序结构一致的东西,所以我想帮助找到解决这个看似微不足道(但令人困惑)问题的解决方案。 码: MainActivity.java package com.material.tdapps.hackernews.activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; import com.material.tdapps.hackernews.R; public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener { @Override […]

如何在java中的多个类中使用一个接口?

我有一个活动和2个片段。 我想在活动时listener.receivePreview(obj)然后 执行:OneFragment – > receivePreview。 执行:TwoFragment – > receivePreview。 public class MainAct extends AppCompatActivity { public interface OnReceiveListener { // This can be any number of events to be sent to the activity void receivePreview(Object… obj); } private OnReceiveListener listener; } public class OneFragment extends Fragment implements OnReceiveListener{ @Override public void receivePreview(Object… obj) { […]