2016-11-28 106 views
-2

我不能从fragmentActivity ListItem点击听众我想我做对了,但不知道哪里是问题。ListView点击在Android片段

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState) { 
    return inflater.inflate(R.layout.scholorship_listing_main,container,false); 
} 

@Override 
public void onStart() { 


    super.onStart(); 


    list=(ListView)getActivity().findViewById(R.id.Scholorshiplist); 
    setAdapterValue(); 


    list.setOnItemClickListener(new AdapterView.OnItemClickListener() 

    { 


     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      Intent intent = new Intent(getActivity(), ScholorshipDetail.class); 
      getActivity().startActivity(intent); 
      //getActivity().finish(); 
     } 
    }); 

} 

而且我Activity类上,我要移动的

public class ScholorshipDetail extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.scholorship_detail); 
    } 
} 

和我的XML是:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_main" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.temp.scholorshipapp.MainActivity"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Scholorships" 
    android:textColor="@color/black" 
    android:textSize="25sp" 
    android:layout_marginTop="10dp" 
    android:layout_marginBottom="10dp" 
    android:layout_marginLeft="80dp" 
    android:layout_centerHorizontal="true" 
    android:id="@+id/txt_scholorship" 
    android:divider="#C0C0C0" 
    android:dividerHeight="4px"/> 

<View 
    android:layout_width="match_parent" 
    android:layout_height="2dp" 
    android:background="@android:color/black" 
    android:layout_below="@+id/txt_scholorship"/> 

<ListView 
    android:layout_below="@id/txt_scholorship" 
    android:id="@+id/Scholorshiplist" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:divider="#C0C0C0" 
    android:dividerHeight="4px" 

    /> 
</RelativeLayout> 
+0

CA您发布onCreateView() –

+0

什么是不工作?什么是问题? –

+0

意图在列表视图中单击不起作用@VladMatvienko –

回答

0

这可能是您的适配器布局包含click监听器view.i.e,按钮视图或其他视图,这将阻止listview click listner。因此,在您的适配器父布局需要加挡或后代如下的可聚焦性,

android:descendantFocusability="blocksDescendants" 
(OR) 
android:focusable="false" 

希望这是有益:)

2

邮政onCreateview(代码),而不是在onStart()在你的片段

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

    View view = inflater.inflate(R.layout.fragmentlayout, container, false); 
    list=(ListView) view.findViewById(R.id.Scholorshiplist); 
    setAdapterValue(); 

list.setOnItemClickListener(new AdapterView.OnItemClickListener() 
{ 
@Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     Intent intent = new Intent(getActivity(), ScholorshipDetail.class); 
     getActivity().startActivity(intent); 
     //getActivity().finish(); 
    } 
}); 
return view; 
} 
+0

其还不工作@sasikumar –

+0

发布您的setAdapterValue()方法代码 – sasikumar