错误:(117,63)错误:不兼容的类型:TabThree碎片无法转换为上下文
错误显示在"new GridViewAdapter(这个,图像,名称);"
公共类TabThreeFragment扩展了片段{
//url for grid images
public static final String DATA_URL = "https://gist.githubusercontent.com/theBoyMo/40b97e688f90a68bfc02/raw/c8463217c22e597c316edb059db410fa38ec26dc/gallery.json";
//Tag values to read from json
public static final String TAG_IMAGE_URL = "image";
public static final String TAG_NAME = "caption";
//GridView Object
private GridView gridView;
//ArrayList for Storing image urls and titles
private ArrayList<String> images;
private ArrayList<String> names;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab_three_fragment, container, false);
// Inflate the layout for this fragment
gridView = (GridView) rootView.findViewById(R.id.gridView);
images = new ArrayList<>();
names = new ArrayList<>();
getData();
return rootView;
//返回inflater.inflate(R.layout.tab_three_fragment,容器,false);}
private void getData(){
//Showing a progress dialog while our app fetches the data from url
// final ProgressDialog loading = ProgressDialog.show(this, "Please wait...","Fetching data...",false,false);
//Creating a json array request to get the json from our api
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(DATA_URL,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
//Dismissing the progressdialog on response
// loading.dismiss();
//Displaying our grid
showGrid(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}
);
//Creating a request queue
//RequestQueue RequestQueue=截击。newRequestQueue(this);RequestQueue RequestQueue=截击。newRequestQueue(getActivity()。getApplicationContext())//将我们的请求添加到队列requestQueue。添加(jsonArrayRequest);}
private void showGrid(JSONArray jsonArray){
//Looping through all the elements of json array
for(int i = 0; i<jsonArray.length(); i++){
//Creating a json object of the current index
JSONObject obj = null;
try {
//getting json object from current index
obj = jsonArray.getJSONObject(i);
//getting image url and title from json object
images.add(obj.getString(TAG_IMAGE_URL));
names.add(obj.getString(TAG_NAME));
} catch (JSONException e) {
e.printStackTrace();
}
}
//Creating GridViewAdapter Object
GridViewAdapter gridViewAdapter = new GridViewAdapter(this,images,names);
//Adding adapter to gridview
gridView.setAdapter(gridViewAdapter);
}
}
我的适配器是
公共类GridViewAdapter扩展了BaseAdapter{
//Imageloader to load images
private ImageLoader imageLoader;
//Context
private Context context;
//Array List that would contain the urls and the titles for the images
private ArrayList<String> images;
private ArrayList<String> names;
public GridViewAdapter (Context context, ArrayList<String> images, ArrayList<String> names){
//Getting all the values
this.context = context;
this.images = images;
this.names = names;
}
@Override
public int getCount() {
return images.size();
}
@Override
public Object getItem(int position) {
return images.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//Creating a linear layout
LinearLayout linearLayout = new LinearLayout(context);
linearLayout.setOrientation(LinearLayout.VERTICAL);
//NetworkImageView
NetworkImageView networkImageView = new NetworkImageView(context);
//Initializing ImageLoader
imageLoader = CustomVolleyRequest.getInstance(context).getImageLoader();
// imageLoader.get(images.get(position), ImageLoader.getImageListener(networkImageView, R.mipmap.ic_launcher, android.R.drawable.ic_dialog_alert));
//Setting the image url to load
networkImageView.setImageUrl(images.get(position),imageLoader);
//Creating a textview to show the title
TextView textView = new TextView(context);
textView.setText(names.get(position));
//Scaling the imageview
networkImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
//networkImageView.setLayoutParams(new GridView.LayoutParams(200,200));
//Adding views to the layout
//linearLayout.addView(textView);
linearLayout.addView(networkImageView);
//Returnint the layout
return linearLayout;
}
}
在TabThreeFragment中,替换
GridViewAdapter GridViewAdapter=新的GridViewAdapter(此、图像、名称)
具有
GridViewAdapter gridViewAdapter=new GridViewAdapter(getContext(),图像,名称);
片段不从上下文扩展。
我有一个使用RecyclerView的列表,我想要的是,当我点击列表项时,它会打开一个片段,我一直在搜索,我只在一个活动中找到了它,但我只在片段中工作,如果我使用活动,它会随着我的操作栏消失,它都在片段中设置。 这是我的适配器类: 我需要将信用卡id发送到片段,调用控制器并从数据库中获取信息,我尝试了使用intent,但只有在使用startActivity(intent)调用活动时才有效。 这里是
我想从我有gridview的MainActivity中打开一个片段。我是android新手,这是第一次使用fragment。这是我的主要活动: 这是我想从gridview打开的片段: 我尝试了FragmentManager fm=getSupportFragmentManager(); FragmentTransaction ft=fm.beginTransaction();ft.replace(
但问题是我想知道如何从类中的片段调用方法?这是我的代码 下面是在活动中工作但在片段中不工作的代码
我正在尝试制作一个选项卡,其中我必须在gridview中显示图像,所以我从一个库中制作了普通选项卡,并制作了一个适配器来显示我的主要活动代码中的图像。 我的片段类。 我已将适配器设置如下: 我能够在活动中创建网格视图,但是我用它来声明类中的图像,但在这里我遇到了错误。我在适配器中声明为适配器将调用图像的 Sso。它正确编译,没有任何错误,但它显示运行时错误错误为 那么如何解决这个问题,我必须声明图
我正在尝试在我的应用程序的三个主屏幕(提要、论坛)之间实现一个简单的滑动操作 在我的情况下,片段并不是同一类的所有实例,而是完全不同的。 M 问题存在于片段页面适配器中。我不确定如何返回 getItem 方法中的每个片段。 我已经尝试了以下内容,但它除了作为有效的返回语句之外没有,并且仍然期待一个: 这是我的一个片段的例子: 这是我的主要活动: 我还尝试定义一个变量电流片段,为每个当语句重新分配它
问题内容: 我有一些碎片。每个片段具有在(=挥动之前不可见的)用。 适配器设置为,这会减慢刷卡速度,因为每次创建时都要载入30个列表项,因为正在创建新的片段。 我的问题是,在空闲时刷卡后是否可以设置适配器?或者,还有更好的方法?扩展SlideDrawer时,该列表需要已经加载。 问题答案: 我的问题是,是否可以在Pager闲置时刷卡后设置适配器? 还有就是,你可以在设置监控的滑动手势。然后,您可以