[英]Clickable ListView items in Fragment
所以我在Fragment中創建了ListView。 這是代碼:
public class HomeFragment extends ListFragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState){
//INFLATE THE FRAGMENT LAYOUT FILE
ViewGroup rootView = (ViewGroup)inflater.inflate(R.layout.fragment_home, container, false);
//CREATE DATASOURCE
String[] datasource={"Potisak s klupe",
"Potisak s klupe bučicama",
"Potisak s kose klupe",
"Potisak s kose klupe bučicama",
"Potisak s kontrakose klupe",
"Potisak s kontrakose klupe bučicama",
"Potisak na spravi",
"Razvlačenja na ravnoj klupi",
"Razvlačenja na kosoj klupi",
"Razvlačenja na kontrakosoj klupi",
"Razvlačenja kablovima na klupi",
"Propadanja",
"Sklekovi",
"Sklekovi s nogama na povišenom",
"Crossover kablovima",
"Razvlačenja na leptir mašini",
};
//CREATE ADAPTER
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), R.layout.rowlayout_prsa, R.id.labelrowlayout_prsa_tekst, datasource);
// BIND ADAPTER TO THE LISTFRAGMENT
setListAdapter(adapter);
//RETAIN LISTFRAGMENT INSTANCE ACROSS CONFIGURATION CHANGES
setRetainInstance(true);
return rootView;
}
// HANDLING ITEM CLICK
public void onListItemClick(ListView l, View view, int position, long id){
ViewGroup viewGroup = (ViewGroup)view;
TextView txt = (TextView)viewGroup.findViewById(R.id.labelrowlayout_prsa_tekst);
l.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent (getActivity(), PotisakSKlupe.class);
startActivity(intent);
}
});
}
}
但是當我用意圖單擊第一個列表項時,我無法進行其他活動。 還嘗試了Internet上發現的其他幾種方法,但是沒有運氣。 片段列表視圖沒有什么..
我在這里想念什么?
試試這個,我想你沒有在你的code.please調用此方法,然后再嘗試。
public void onListItemClick(ListView l, View view, int position, long id){
ViewGroup viewGroup = (ViewGroup)view;
TextView txt = (TextView)viewGroup.findViewById(R.id.labelrowlayout_prsa_tekst);
l.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent (getActivity(), PotisakSKlupe.class);
startActivity(intent);
}
});
}
希望能幫助到你。
首先重寫此方法。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
在onCreateView之后,將調用onActivityCreated方法。 因此請將您的onListItemClick()放在onActivityCreated方法中。 現在將列表項設置為可單擊。
listView.setClickable(true);
接着,
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
startActivity(new Intent(getActivity(), AddActivity.class));
}
});
這可能對您有幫助。 (檢查我使用的變量名和您使用的變量名。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.