我正在开发第一个android应用程序,我有一个片段类,它扩展了SherlockListFragment
。当我在onCreateView
中设置setOnItemClickListener
并执行onItemClick
当我点击一行(列表)时,我没有收到任何回应。列表显示正确在我的应用程序。我想要当用户点击行表格listview
我的另一个活动会打电话。我瞪了很多眼睛,但没有得到正确的答案。 我不明白问题在哪里。任何人都可以告诉我在下面的代码中我做错了什么?setOnItemClickListener未在onCreatView方法中调用?
以下是我的代码
public class ResidentialFragActivity extends SherlockListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle saved) {
View view = inflater.inflate(R.layout.project_list,container, false);
resListviewId = (ListView)view.findViewById(android.R.id.list);
linearProgress = (LinearLayout)view.findViewById(R.id.linlaHeaderProgress);
projectList = new ArrayList<HashMap<String,String>>();
new LoadProjects().execute();
resListviewId.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2,
long arg3) {
Intent href = new Intent(getSherlockActivity(), ProjectDetailActivity.class);
// send project id to project detail activity to get list of Phases under that project
String proj_id = ((TextView) view.findViewById(R.id.projectId)).getText().toString();
href.putExtra("proj_id", proj_id);
getSherlockActivity().startActivity(href);
}
});
return view;
}
//inner class for network operation
private class LoadProjects extends AsyncTask<String, String, String> {
protected void onPreExecute() {
linearProgress.setVisibility(View.VISIBLE);
}
@Override
protected String doInBackground(String... params) {
//call webservice
}
@Override
protected void onPostExecute(String result) {
linearProgress.setVisibility(View.GONE);
ListAdapter projAdapter = new SimpleAdapter(getSherlockActivity(),
projectList, R.layout.project_list_item,
new String[] {PROJ_ID,PROJ_NAME,EDIT_RIGHTS}, new int[]
{R.id.projectId,R.id.projectName,R.id.projectSubName});
//updating the UI
setListAdapter(projAdapter);
}
}
}
以下是布局列表视图
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="10dp"
android:background="@color/White"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="1dp"
android:divider="@drawable/divider"
android:focusableInTouchMode="true"
android:smoothScrollbar="true"
android:dividerHeight="1.5dp"
android:scrollbarThumbVertical="@drawable/divider"
android:drawSelectorOnTop="false"
android:listSelector="@drawable/list_selector">
</ListView>
</LinearLayout>
在此先感谢..
你能尝试添加机器人:点击=“true”以你的ListView – wrecker 2013-05-06 09:50:49
仍然没有BugraOral – 2013-05-06 09:53:14