1
在一個片段中有兩個片段。我在左邊和右邊的片段中有一個列表,在ListFragment中顯示ListView。如果我在ListView中單擊列表,我需要顯示另一個視圖來代替ListView,但是左側的片段仍然存在。在項目選擇列表片段而不是活動上替換片段活動
在onclick事件中,我在做意圖,但整個視圖正在改變。相反,我只需要更改列表視圖。
public class FriendsFragment extends ListFragment{
public static String[] friendsaddoptions=new String[]{
"Fox User","FaceBook","Email","Twiter","SMS"
};
private Intent listIntent = null;
ListView listview;
Friends_Names_List_Adapter friendsnameslistadapter;
JSONArray dataJsonObject;
Button add;
Button back;
Game_Sections_Details_Adapter GameSectionsDetails;
View view;
Context context = getActivity();
@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.friends_list, container,false);
listview=(ListView)view.findViewById(android.R.id.list);
add=(Button) view.findViewById(R.id.button_add);
back=(Button)view. findViewById(R.id.button_back);
back.setVisibility(View.INVISIBLE);
FriendsFragmentData dataobserver=new FriendsFragmentData();
ServerManager.getInstance().addObserver(dataobserver);
ServerManager.getInstance().readLoopForFriends_Names_List(AppConstances.Friends_Names_List);
if(friendsnameslistadapter==null)
friendsnameslistadapter=new Friends_Names_List_Adapter(getActivity(), new JSONArray());
listview.setAdapter(friendsnameslistadapter);
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { /*Intent in=new
Intent(getActivity().getBaseContext(), FriendsNamesAddActivity.class);
startActivity(in);*/
ArrayAdapter< String> adapter=new ArrayAdapter<String>(getActivity().getBaseContext(),
R.layout.friends_add_listitem,R.id.friends_add_option,friendsaddoptions);
listview.setAdapter(adapter);
if(adapter!=null)
back.setVisibility(View.VISIBLE);
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
Intent intent = new Intent(getActivity().getBaseContext(),FoxUserActivity.class);
startActivity(intent);
}
});
if(adapter!=null) {
add.setVisibility(View.INVISIBLE);
}
}
});
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
listview.setAdapter(friendsnameslistadapter);
add.setVisibility(View.VISIBLE);
back.setVisibility(View.INVISIBLE);
}
});
return view;
}
而這個類顯示後的onclick」
public class FoxUserActivity extends FragmentActivity{
public static TabHost tHost;
Button add,back;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.foxuser);
add=(Button) findViewById(R.id.button_add);
back=(Button) findViewById(R.id.button_back);
add.setVisibility(View.INVISIBLE);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_game, menu);
return true;
}}
我希望有人能幫助我。在此先感謝。
請刪除未知代碼並添加一些空格以獲得更多可讀性 –