相关疑难解决方法(0)

Android Fragment没有找到ID的视图?

我有一个片段,我试图添加到视图中.

FragmentManager fragMgr=getSupportFragmentManager();
feed_parser_activity content = (feed_parser_activity)fragMgr
                                    .findFragmentById(R.id.feedContentContainer);
FragmentTransaction xaction=fragMgr.beginTransaction();

if (content == null || content.isRemoving()) {
    content=new feed_parser_activity(item.getLink().toString());
    xaction
        .add(R.id.feedContentContainer, content)
        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
        .addToBackStack(null)
        .commit();
    Log.e("Abstract", "DONE");
}
Run Code Online (Sandbox Code Playgroud)

执行此代码时,我在调试中收到以下错误.

java.lang.IllegalArgumentException: No view found for id 0x7f080011 
   for fragment feed_parser_activity{41882f50 #2 id=0x7f080011}
Run Code Online (Sandbox Code Playgroud)

feed_parser_activity是一个片段,在xml中设置为Fragment layout.
我正在使用FragmentActivity来托管片段布局feed_parser_layout.
我上面正确编码吗?

android illegalargumentexception android-fragments

265
推荐指数
16
解决办法
23万
查看次数

ListFragment不接受我的布局

根据这个链接:ListFragment android开发者

我想为列表设置自定义布局,但它会产生异常.

这是代码:

public class ListFragmentActivity extends FragmentActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    FragmentManager fm = getSupportFragmentManager();
    if(fm.findFragmentById(android.R.id.content) == null)
    {
        myListFragments list = new myListFragments();
        fm.beginTransaction().add(android.R.id.content, list).commit();
    }
}

public static class myListFragments extends ListFragment
{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return inflater.inflate(R.layout.topoffers, container, false);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onActivityCreated(savedInstanceState);
        List<OfferModel> offers = Global.getInstance().getOffers();
        List<OfferModel> topOffers …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-fragments

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

如何从FragmentActivity更新ListFragment中的ListView?

我在FragmentActivity中使用ListFragment以及SimpleCursorAdapter和修改过的CursorLoader.修改后的CursorLoader只发出rawQueries - 没有其他更改.

在FragmentActivity中的某个时刻,我需要重新获取在ListFragment中提供ListView的数据/光标.

我怎样才能做到这一点?

提前谢谢了.

这是FragmentActivity调用ListFragment中的方法:

public class ActivityList extends FragmentActivity {

    @Override
    protected void onActivityResult(final int requestCode, final int resultCode, final Intent intent) {
        ...
        processUpdateList();
    }

    ...

    private void processUpdateList() {
        Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragmentlist);
        if (fragment != null) {
            ((FragmentList) fragment).requeryList();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这里是ListFragment,该方法应该启动对ListView的重新查询,重新加载或重新绘制.ListView.invalidate()没有帮助 - 它没有改变显示的数据.

public class FragmentList extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> {

    private SimpleCursorAdapter adapter;
    private Context             context;
    private ListView            listView;

    public void requeryList() {
    // listView.invalidate(); didn't re-query
        // TODO: How???
    } …
Run Code Online (Sandbox Code Playgroud)

android listview simplecursoradapter android-fragments android-fragmentactivity

10
推荐指数
1
解决办法
7186
查看次数

使用自定义视图填充ListFragments?

以前,我将布局膨胀为ListView的自定义视图层次结构没有问题.但我不知道如何为listFragment做同样的事情.假设我有一个带有ImageView和2个textview的item_list布局.我想膨胀这个在我的ListFragment中使用.但是怎么样?

public class Tab1Fragment extends ListFragment {
private LayoutInflater mInflater;
private Vector<RowData> data;
RowData rd;

 static final String[] title = new String[] {
    "Classic Plank", "Side Plank", "Reversed Plank", "Swissball Plank", "One Arm One Leg", //5
    };

static final String[] description = new String[] {
    "Variation of Sushis from fresh vegetables and seafoods! Good for family occassions!",
    "Oyakodon is a Japanese Rice Bowl dish with Chicken, Eggs and various sorts of healthy and delicious Veggetables!",
    "Japanese assorted Pancake that is …
Run Code Online (Sandbox Code Playgroud)

android listview view android-fragments layout-inflater

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

Android ListFragment令人困惑

我很困惑使用ListFragment ......我无法理解问题出在哪里......

这是我的FragmentActivity类:

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class menu extends FragmentActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
            setContentView(R.layout.root_menu); 

        if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
            ListFrag list = new ListFrag();
            getSupportFragmentManager().beginTransaction().replace(android.R.id.content, list).commit();
        }}}
Run Code Online (Sandbox Code Playgroud)

我的ListFragment类:

public class ListFrag extends ListFragment {

    int Files = 0;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub

        getListView().setBackgroundResource(R.drawable.table);
        getListView().setDividerHeight(0);
        getListView().setCacheColorHint(0);

        View view = inflater.inflate(R.layout.main, null);

        return view;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        setListAdapter(new CustomListAdapter(getActivity(), …
Run Code Online (Sandbox Code Playgroud)

android list fragment

3
推荐指数
1
解决办法
7886
查看次数

在Android上使用ListFragment时出现问题

我在Android编程方面很陌生(我编写了大量的PC应用程序并使用了Java),我很茫然.我想创建一个使用片段的应用程序.我想创建Fragment Programaticaly(正如Android Developer页面上的介绍所说)买我的应用程序一直崩溃,我不知道为什么.

这是我的主要活动的代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    FragmentManager fmanager = getFragmentManager();
    FragmentTransaction ftransaction = fmanager.beginTransaction();
    FileBrowser fbrowser = new FileBrowser();
    ftransaction.add(R.layout.main,fbrowser, "FileBrowser");       
    ftransaction.commit();

    fbrowser.test();
}
Run Code Online (Sandbox Code Playgroud)

这是FileBrowser的代码:

公共类FileBrowser扩展了ListFragment {

public void test(){
    System.err.println("Entre a test!!!");
    String[] MyList = {"HOla","Mundo","De","Las","Listas"};
    if (getActivity() == null){
        System.err.println("I get a NULL Activity");
    }
    else{
        System.err.println("No NULL Activity Attempting to Create an Adapter");
        ArrayAdapter<String> aa = new ArrayAdapter<String>(getActivity(), R.layout.file_row, MyList);
    }
    //setListAdapter(new ArrayAdapter<String>(this.getActivity(), R.layout.file_row, MyList));
}
Run Code Online (Sandbox Code Playgroud)

}

我要做的就是在片段中打印字符串列表MyList.但是我程序崩溃了,我收到这个错误:

06-09 19:25:42.920:ERROR/AndroidRuntime(26064):java.lang.RuntimeException:无法启动活动ComponentInfo {com.ccr/com.ccr.Main}:java.lang.IllegalArgumentException:找不到id的视图片段FileBrowser的0x7f030001 {4077d558#0 …

android

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

FragmentActivity onCreateView

我尝试使用Android兼容性库(或现在称为支持库)v4用于预蜂窝式Android设备.我理解,我应该使用FragmentActivity类,而不是使用Fragment类.根据我能找到的所有教程,我可以像在Fragment类中一样使用onCreateView方法:

public View onCreateView(LayoutInflater inflater,ViewGroup容器,Bundle savedInstanceState)

但是,FragmentActivity中的onCreateView方法似乎有所不同.我继承的是:

public View onCreateView(String name,Context context,AttributeSet attrs)

此版本实际上列在FragmentActivity类的Android参考中.
似乎我找到的所有教程都没有说明这种差异,而且所有教程都在Fragment类中调用它.我在这里误以为我应该以某种方式调用Fragment类版本的onCreateView吗?

android android-fragmentactivity

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