片段和设置 OnItemClickListener
Fragments and setting up OnItemClickListener
我有一个包含 Fragments 的项目。在主片段上,我有一个包含项目的列表(与图片相关),它是通过使用自定义适配器生成的,我想我需要使用 OnItemClickListener 来点击项目转到另一个 activity。下面是我的 HomeFragment class 的一个片段,这里是我想创建一个 OnItemClickListener 的地方,这可能吗?我怎样才能做到这一点?
public class HomeFragment extends Fragment implements OnClickListener {
public HomeFragment() {
// Required empty public constructor
}
View rootView;
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_home, container, false);
RowBean RowBean_data[] = new RowBean[]{
new RowBean(R.drawable.kamil, "Kamil "),
new RowBean(R.drawable.bartlomiej, "Bartlomiej "),
new RowBean(R.drawable.krzysztof, "Krzysztof ")
};
CustomAdapter adapter = new CustomAdapter(getActivity().getApplicationContext(), R.layout.list_style, RowBean_data);
ListView lista = (ListView) rootView.findViewById(R.id.lista);
lista.setAdapter(adapter);
return rootView;
}
@Override
public void onAttach(Activity activity) { super.onAttach(activity); }
@Override public void onDetach() { super.onDetach(); }
@Override public void onClick(View v) { Toast.makeText(getActivity(), "Works!", Toast.LENGTH_SHORT).show(); }
}
在 onCreateView
方法中的 return rootView;
语句之前添加以下侦听器
lista.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//do stuff
Intent intent=new Intent(CurrentActivity.this,AnotherActivty.class);
startActivity(intent);
}
});
是的。你必须使用 onItemClickListener()
您可以通过以下方式使用它:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// You can launch activity here in your case.
}
});
我有一个包含 Fragments 的项目。在主片段上,我有一个包含项目的列表(与图片相关),它是通过使用自定义适配器生成的,我想我需要使用 OnItemClickListener 来点击项目转到另一个 activity。下面是我的 HomeFragment class 的一个片段,这里是我想创建一个 OnItemClickListener 的地方,这可能吗?我怎样才能做到这一点?
public class HomeFragment extends Fragment implements OnClickListener {
public HomeFragment() {
// Required empty public constructor
}
View rootView;
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_home, container, false);
RowBean RowBean_data[] = new RowBean[]{
new RowBean(R.drawable.kamil, "Kamil "),
new RowBean(R.drawable.bartlomiej, "Bartlomiej "),
new RowBean(R.drawable.krzysztof, "Krzysztof ")
};
CustomAdapter adapter = new CustomAdapter(getActivity().getApplicationContext(), R.layout.list_style, RowBean_data);
ListView lista = (ListView) rootView.findViewById(R.id.lista);
lista.setAdapter(adapter);
return rootView;
}
@Override
public void onAttach(Activity activity) { super.onAttach(activity); }
@Override public void onDetach() { super.onDetach(); }
@Override public void onClick(View v) { Toast.makeText(getActivity(), "Works!", Toast.LENGTH_SHORT).show(); }
}
在 onCreateView
方法中的 return rootView;
语句之前添加以下侦听器
lista.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//do stuff
Intent intent=new Intent(CurrentActivity.this,AnotherActivty.class);
startActivity(intent);
}
});
是的。你必须使用 onItemClickListener()
您可以通过以下方式使用它:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// You can launch activity here in your case.
}
});