我正在創建一個應用程序,它由一個viewpager與不同的片段組成。這些片段包含不同的imagebuttons.I想打開片段時,每個這些圖像按鈕被點擊。但我不知道該怎麼做。我對碎片很陌生,對這些碎片我不太瞭解。我試圖在2天后編寫這段代碼。如果你能幫我解決問題,那麼我將能夠完成我的項目應用。
我的佈局NoticeBoard.java
如下:這包含2 imagebuttons
和listview
。Imagebutton裏面的一個片段點擊打開一個新的片段
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns : android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:id="@+id/relative">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:background="#AAAAAA"
android:id="@+id/line">
<ImageButton
android:id="@+id/ptu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:background="#CCCCCC"
android:clickable="true"
android:onClick="OnClick"
android:contentDescription="@string/mko"
android:paddingBottom="10dp"
android:paddingLeft="9.9dp"
android:paddingRight="20dp"
android:paddingTop="10dp"
android:src="@drawable/img" />
<ImageButton
android:id="@+id/ku"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="1dp"
android:background="#CCCCCC"
android:clickable="true"
android:contentDescription="@string/mn"
android:paddingBottom="10dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="10dp"
android:src="@drawable/image" />
</LinearLayout>
<ListView
android:id="@+id/nb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/line"
android:layout_alignParentTop="true"
>
</ListView>
</RelativeLayout>
而且我對PTU佈局,銅,KU,HTU同上,但不同的適配器上的上述相同listview.I設置已經爲PTU,hptu,在Cu和區定義不同的適配器.java類
我的NoticeBoard.java
class是一個將noticeboard佈局設置爲view和listview的片段。
public class Notice_Board extends Fragment {
ListView l;
ImageButton i1,i2,i3,i4;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_noticeboard, container, false);
l = (ListView) rootView.findViewById(R.id.nb);
String[] title = new String[]{"Important Announcements", "Datesheet", "Results","Placement Drives","Admissions","Entrance exams"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, title);
l.setAdapter(adapter);
i1 = (ImageButton) rootView
.findViewById(R.id.ptu);
i2 = (ImageButton) rootView
.findViewById(R.id.cu);
i3 = (ImageButton) rootView
.findViewById(R.id.ku);
i4 = (ImageButton) rootView
.findViewById(R.id.hptu);
i1.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.layout.activity_noticeboard,new PTU(),"PTU");
}
return rootView;
}
}
下面是我ptu.java
類,它包含了同樣的觀點和列表視圖一樣布告欄,但設定不同的值,通過與它不同的值設置適配器的ListView。
public class PTU extends Fragment{
ListView l;
ImageButton i2;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_noticeboard, container, false);
String[] array = new String[] {"Important Announcements", "Results",Programme","Syllabus","Fees","Events","Placement Drives"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, array);
l = (ListView) rootView.findViewById(R.id.nb);
l.setAdapter(adapter);
return rootView;
}
}
我想,每一個按鈕被點擊了公告板上的佈局應該會出現,但不同的listview.And我也希望在布告欄佈局打開PTU的ImageButton應該出現點擊在其片段列表視圖時間。 以下是我的ku.java
類,它包含與ptu相同的視圖和列表視圖,但通過設置具有不同值的適配器將不同的值設置爲列表視圖。
public class KU extends Fragment{
ListView l;
ImageButton i2;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_noticeboard, container, false);
String[] array = new String[] {"Important Announcements", "Results",Programme","Syllabus","Fees","Events","Placement Drives"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, array);
l = (ListView) rootView.findViewById(R.id.nb);
l.setAdapter(adapter);
return rootView;
}
}
可以請你是否在應用程序開發過程中出現問題? – Krish 2015-01-04 13:24:19
是什麼真的是你的問題?片段不切換或什麼? – Elltz 2015-01-04 14:08:01
是的,我想在我的應用程序中單擊imagebutton時切換到不同的片段。 – 2015-01-07 11:31:54