Android 在片段和图像视图中设置侦听器
当我想使用setOnItemClickListener时,我使用下面的Android 在片段和图像视图中设置侦听器,android,Android,当我想使用setOnItemClickListener时,我使用下面的 GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(new ImageAdapter(Tab1Fragment.getContext(null))); gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemC
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(Tab1Fragment.getContext(null)));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
}
});
GridView GridView=(GridView)findviewbyd(R.id.GridView);
setAdapter(新的ImageAdapter(Tab1Fragment.getContext(null));
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
//将意图发送到SingleViewActivity
Intent i=新的Intent(getApplicationContext(),SingleViewActivity.class);
//通过图像索引
i、 putExtra(“id”,位置);
星触觉(i);
}
});
但对于以下代码,我无法像上面那样执行:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.gridview1, null);
GridView listView = (GridView) view.findViewById(R.id.mainGrid1);
listView.setAdapter(new Adapter());
GridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
}
});
return view;
}
创建视图时的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.layout.gridview1,空);
GridView listView=(GridView)view.findViewById(R.id.mainGrid1);
setAdapter(新适配器());
GridView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
//将意图发送到SingleViewActivity
Intent i=新的Intent(getApplicationContext(),SingleViewActivity.class);
//通过图像索引
i、 putExtra(“id”,位置);
星触觉(i);
}
});
返回视图;
}
这是一个错误图像为什么使用类名Gridview而不是声明为listview的Gridview变量 错误代码:-
GridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
} });
GridView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
//将意图发送到SingleViewActivity
Intent i=新的Intent(getApplicationContext(),SingleViewActivity.class);
//通过图像索引
i、 putExtra(“id”,位置);
星触觉(i);
} });
将其更改为,而不是上面的代码
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
} });
listView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
//将意图发送到SingleViewActivity
Intent i=新的Intent(getApplicationContext(),SingleViewActivity.class);
//通过图像索引
i、 putExtra(“id”,位置);
星触觉(i);
} });
而不是
GridView.setOnItemClickListener(new OnItemClickListener() {
....
} });
这样做
listView.setOnItemClickListener(new OnItemClickListener() {
....
} });
GridView是一个类,而listView是一个GridView变量,您已经在代码中初始化了它。使用该选项。请不要使用
GridView.setOnItemClickListener
,而是使用listView.setOnItemClickListener()
。我不知道为什么要进行下推表决,我会检查您的建议,但getapplicationContext有一个错误,类型为new adapteeview.onitemclicklisteneruse getActivity()在使用fragmentbut时,请不要使用getapplicationContext,因为getapplicationContext对于类型new adapteeview.OnItemClickListener是未定义的,请使用getActivity(),而不要使用getapplicationContext(),因为您在片段中。