首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android的新产品-片段

Android的新产品-片段
EN

Stack Overflow用户
提问于 2014-02-09 03:56:42
回答 1查看 86关注 0票数 0

android程序的新手。在过去的3天里,我一直在学习教程,并且感觉自己得到了它的主要部分。每次我尝试运行以下代码时,android都会在打开之前强制退出。我得到了其他更简单的片段,但这让我很困惑。根本没有打印错误,可能是因为它立即关闭。任何帮助都会得到很大的帮助。

编辑:使用调试器我能够获得一个

代码语言:javascript
复制
 "InflateException: Binary XML file #9: Error inflating class fragment. 

它在折叠代码之后停止:

代码语言:javascript
复制
 lv = (ListView) view.findViewById(R.id.lvMain);

Frag_MainList.java

代码语言:javascript
复制
public class Frag_MainList extends Fragment implements OnItemClickListener, OnItemLongClickListener{

ListView lv;
ImageView ivAddNote;
Communicator communicator;
Adapter_SQL database = new Adapter_SQL(getActivity());
ArrayList<Element> list; 

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,  Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.frag_mainlist,  container, false);    
    lv = (ListView) view.findViewById(R.id.lvMain);

    database.open();
    list = database.getChildrenLess();
    database.close();

    Adapter_List adapter = new Adapter_List(getActivity(), list);

    lv.setAdapter(adapter);
    lv.setOnItemClickListener(this);
    lv.setOnItemLongClickListener(this);
    return view;
}



@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

}



@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
    communicator.SendID(pos);
    return true;
}


@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
    database.open();
    database.switchComplete(list.get(pos).id);
    database.close();
}

public void setCommunicator(Communicator communicator){
    this.communicator = communicator;

}

public interface Communicator{
    public void SendID(int index);
}
}

Activity_Main.java

代码语言:javascript
复制
public class Activity_Main extends Activity implements Frag_MainList.Communicator{

Frag_MainList frag1;
Frag_ListChildren frag_children;
FragmentManager manager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    manager = getFragmentManager(); 
    frag1 = (Frag_MainList) manager.findFragmentById(R.id.fMainList);
    frag1.setCommunicator(this);
}  


@Override
public void SendID(int index) {
     frag_children = (Frag_ListChildren) manager.findFragmentById(R.id.fListChildren);      
     if (frag_children != null && frag_children.isVisible()){
        frag_children.displayChildren(index);
     }else{
         Intent intent = new Intent("com.likwid.wishlist.LISTCHILDREN");
         intent.putExtra("id", index);
         startActivity(intent);
     }    
}
}

frag_mainlist.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/lvMain"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

</LinearLayout>

activity_main.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00BBFF"
android:orientation="horizontal"
android:id="@+id/main_layout" >

<fragment
    android:id="@+id/fMainList"
    android:name="com.likwid.wishlist.Frag_MainList"
    android:layout_width="wrap_content"
    android:layout_height="match_parent" />

</LinearLayout>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-09 18:27:27

我想通了。似乎问题出在数据库上。在实际创建活动之前,将调用getActivity in Frag_MainList。将getActivity放入"onActivityCreated“方法允许正确调用getActivity,并且似乎消除了它所造成的所有问题。我认为它显示碎片错误的原因是碎片是错误的,使它不可能膨胀。谢谢大家!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21655053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档