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"/>
与
它将如您所期望的那样工作Showfragment\u search
xml-code-alsoThanks-Blackbelt。你救了我。
<FrameLayout
android:id="@+id/homepageFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>