Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 来自扩展ListFragment的片段的ListView正在重复自身。知道什么';怎么了?_Java_Android - Fatal编程技术网

Java 来自扩展ListFragment的片段的ListView正在重复自身。知道什么';怎么了?

Java 来自扩展ListFragment的片段的ListView正在重复自身。知道什么';怎么了?,java,android,Java,Android,这就是活动 public class Homepage extends FragmentActivity implements ChatFragment.OnFragmentInteractionListener{ SearchFragment searchFragment; ChatFragment chatFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(

这就是活动

public class Homepage extends FragmentActivity implements ChatFragment.OnFragmentInteractionListener{

SearchFragment searchFragment;
ChatFragment chatFragment;

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

    searchFragment = new SearchFragment();
    chatFragment = new ChatFragment();


    if(savedInstanceState == null){
        getFragmentManager().beginTransaction().replace(R.id.homepageFragment,chatFragment).commit();
    }
}

@Override
protected void onResume(){
    Bundle bundle = getIntent().getExtras();
    if(bundle != null){
        //text.setText("user_id: " + bundle.get("user_id") + " ,username: " + bundle.get("username") + " ,password: " + bundle.get("password"));
    }
           super.onResume();
}


@Override
public void onChatFragmentInteraction(Uri uri){

}

public void openSearchFragment(View view){
   if(!searchFragment.isAdded())
        getFragmentManager().beginTransaction().replace(R.id.homepageFragment,searchFragment).commit();
}

public void openChatFragment(View view){
    if(!chatFragment.isAdded())
        getFragmentManager().beginTransaction().replace(R.id.homepageFragment,chatFragment).commit();
    }

    public void openProfile(View view){

    }
}
这是活动的布局

public class Homepage extends FragmentActivity implements ChatFragment.OnFragmentInteractionListener{

SearchFragment searchFragment;
ChatFragment chatFragment;

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

    searchFragment = new SearchFragment();
    chatFragment = new ChatFragment();


    if(savedInstanceState == null){
        getFragmentManager().beginTransaction().replace(R.id.homepageFragment,chatFragment).commit();
    }
}

@Override
protected void onResume(){
    Bundle bundle = getIntent().getExtras();
    if(bundle != null){
        //text.setText("user_id: " + bundle.get("user_id") + " ,username: " + bundle.get("username") + " ,password: " + bundle.get("password"));
    }
           super.onResume();
}


@Override
public void onChatFragmentInteraction(Uri uri){

}

public void openSearchFragment(View view){
   if(!searchFragment.isAdded())
        getFragmentManager().beginTransaction().replace(R.id.homepageFragment,searchFragment).commit();
}

public void openChatFragment(View view){
    if(!chatFragment.isAdded())
        getFragmentManager().beginTransaction().replace(R.id.homepageFragment,chatFragment).commit();
    }

    public void openProfile(View view){

    }
}
我喜欢让我的活动屏幕响应


这是片段

public class SearchFragment extends ListFragment implements AdapterView.OnItemClickListener{

ArrayList<String> list;
ListViewAdapter myAdapter;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstance){
    View view = inflater.inflate(R.layout.fragment_search,container,false);

    list = new ArrayList<String>();

    list.add("I");
    list.add("am");
    list.add("Iron");

    myAdapter = new ListViewAdapter(list,getActivity().getBaseContext());

    setListAdapter(myAdapter);

    return view;
}

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

    getListView().setOnItemClickListener(this);

}

public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
    Toast.makeText(getActivity(), "Item: " + position, Toast.LENGTH_SHORT).show();
}
}
公共类SearchFragment扩展ListFragment实现AdapterView.OnItemClickListener{
数组列表;
ListViewAdapter-myAdapter;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.布局。碎片搜索,容器,错误);
列表=新的ArrayList();
列表。添加(“I”);
列表。添加(“am”);
列表。添加(“铁”);
myAdapter=新的ListViewAdapter(列表,getActivity().getBaseContext());
setListAdapter(myAdapter);
返回视图;
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
getListView().setOnItemClickListener(此);
}
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(getActivity(),“Item:+位置,Toast.LENGTH_SHORT).show();
}
}
片段的布局在由 以“@android:id/list”作为id和文本视图的ListView。

不要担心适配器。它工作得很好。。我在一项活动中进行了测试。很好用


这是正确的。您有两个
SearchFragment
。一个在布局中声明为静态,另一个通过
碎片事务添加<无法使用编程事务替换布局中声明为静态的代码>片段。替换

<fragment
        android:id="@+id/homepageFragment"
        android:name="com.example.summer.toothbrush.SearchFragment"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        tools:layout="@layout/fragment_search"/>



它将如您所期望的那样工作

Show
fragment\u search
xml-code-alsoThanks-Blackbelt。你救了我。
<FrameLayout
        android:id="@+id/homepageFragment"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>