Android 视图中的交错网格视图寻呼机未正确设置适配器
我的交错网格视图适配器在api 19或更高版本中工作正常。但当我在api 17或更低版本中运行时,我发现适配器设置不正确。如果我用Android 视图中的交错网格视图寻呼机未正确设置适配器,android,android-fragments,android-viewpager,staggered-gridview,Android,Android Fragments,Android Viewpager,Staggered Gridview,我的交错网格视图适配器在api 19或更高版本中工作正常。但当我在api 17或更低版本中运行时,我发现适配器设置不正确。如果我用网格视图更改交错网格视图,它工作正常,表明我的adpter类工作正常。但我不知道我的问题出在哪里。图像未设置在交错网格视图。可能是因为我的视图寻呼机 这是带有viewpager的我的选项卡视图XML: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln
网格视图更改交错网格视图
,它工作正常,表明我的adpter类工作正常。但我不知道我的问题出在哪里。图像未设置在交错网格视图。可能是因为我的视图寻呼机
这是带有viewpager的我的选项卡视图XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ir.hisis.cloth.SlidingTabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="2dp"
android:background="@color/ColorPrimary"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_weight="1">
</android.support.v4.view.ViewPager>
</LinearLayout>
选项卡页适配器:
public class TabsPagerAdapter extends FragmentStatePagerAdapter {
CharSequence Titles[];
int NumbOfTabs;
public TabsPagerAdapter(FragmentManager fm,CharSequence mTitles[], int mNumbOfTabsumb) {
super(fm);
this.Titles = mTitles;
this.NumbOfTabs = mNumbOfTabsumb;
}
@Override
public Fragment getItem(int position) {
if(position == 0)
{
return new MainFragment();
}
else if(position == 1)
{
return new MainFragment();
}
else
{
return new MainFragment();
}
}
@Override
public CharSequence getPageTitle(int position) {
return Titles[position];
}
@Override
public int getCount() {
return NumbOfTabs;
}
}
主要片段是:
public class MainFragment extends Fragment {
public MainFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ImageAdapter adapt;
StaggeredGridView gridView = (StaggeredGridView) getView().findViewById(R.id.grid_view);
adapt= new ImageAdapter(getActivity());
gridView.setAdapter(adapt);
}
image adpter:
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public String TAG = "base adapter";
Activity activity;
public ImageAdapter(Activity a) {
activity = a;
mContext = activity.getApplicationContext();
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
View imageItem;
Log.e("item","");
if (convertView == null) {
LayoutInflater inflater = activity.getLayoutInflater();
imageItem = inflater.inflate(R.layout.image_item, null);
ImageItemViewHolder tag = new ImageItemViewHolder();
tag.image = (ImageView) imageItem.findViewById(R.id.image);
tag.tagsContainer = (LinearLayout) imageItem.findViewById(R.id.tags_container);
tag.likeImage = (ImageView) imageItem.findViewById(R.id.like_image);
setShareLongClickListenerForImage(tag.image);
imageItem.setTag(tag);
} else {
imageItem = convertView;
}
ImageItemViewHolder tag = (ImageItemViewHolder) imageItem.getTag();
ImageView img = tag.image;
img.setImageResource(mThumbIds[position]);
return imageItem;
}
private void setShareLongClickListenerForImage(ImageView image){
image.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View arg0) {
try{
Log.wtf(TAG, "starting to share image");
Utils.shareImage((ImageView) arg0, activity);
}
catch(FileNotFoundException e){
Toast.makeText(arg0.getContext(), activity.getString(R.string.external_storage_is_uavailable), Toast.LENGTH_LONG).show();
}catch (IOException e) {
Toast.makeText(arg0.getContext(), activity.getString(R.string.proble_with_external_storage), Toast.LENGTH_LONG).show();
}
return true;
}
});
}
// references to our images
private Integer[] mThumbIds = {
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7
};
public static class ImageItemViewHolder{
public ImageView image;
public LinearLayout tagsContainer;
public ImageView likeImage;
}
将库项目清单中minSdkVersion的值更改为9
<uses-sdk android:minSdkVersion="10"/>
与
将库项目清单中minSdkVersion的值更改为9
<uses-sdk android:minSdkVersion="10"/>
与
将库项目清单中minSdkVersion的值更改为9
<uses-sdk android:minSdkVersion="10"/>
与
将库项目清单中minSdkVersion的值更改为9
<uses-sdk android:minSdkVersion="10"/>
与
您可以克隆git项目并将其作为本地库项目添加到应用程序中。由于这将是本地库项目,您可以在github.com/etsy/AndroidStaggeredGrid/blob/master/library/src/…上看到一个清单,我不知道是否可以从dependency标记修改minsdk值。如果你能找到,就会更新你 您可以克隆git项目并将其作为本地库项目添加到应用程序中。由于这将是本地库项目,您可以在github.com/etsy/AndroidStaggeredGrid/blob/master/library/src/…上看到一个清单,我不知道是否可以从dependency标记修改minsdk值。如果你能找到,就会更新你 您可以克隆git项目并将其作为本地库项目添加到应用程序中。由于这将是本地库项目,您可以在github.com/etsy/AndroidStaggeredGrid/blob/master/library/src/…上看到一个清单,我不知道是否可以从dependency标记修改minsdk值。如果你能找到,就会更新你 您可以克隆git项目并将其作为本地库项目添加到应用程序中。由于这将是本地库项目,您可以在github.com/etsy/AndroidStaggeredGrid/blob/master/library/src/…上看到一个清单,我不知道是否可以从dependency标记修改minsdk值。如果你能找到,就会更新你 我更改了,但什么也没发生。你在使用库吗?我没有任何错误。只是适配器没有调用,图像没有设置。我使用compile'com.etsy.android.grid:library:1.0.5'你可以克隆git项目,并将其作为本地库项目添加到你的应用程序中。由于这将是本地库项目,您可以在github.com/etsy/AndroidStaggeredGrid/blob/master/library/src/上看到一个清单…。我不知道我们是否可以从dependency标签修改minsdk值。如果找到,将更新你。我更改了,但什么也没有发生。你使用库吗?我没有任何错误。只是适配器没有调用,图像没有设置。我使用compile'com.etsy.android.grid:library:1.0.5'你可以克隆git项目,并将其作为本地库项目添加到你的应用程序中。由于这将是本地库项目,您可以在github.com/etsy/AndroidStaggeredGrid/blob/master/library/src/上看到一个清单…。我不知道我们是否可以从dependency标签修改minsdk值。如果找到,将更新你。我更改了,但什么也没有发生。你使用库吗?我没有任何错误。只是适配器没有调用,图像没有设置。我使用compile'com.etsy.android.grid:library:1.0.5'你可以克隆git项目,并将其作为本地库项目添加到你的应用程序中。由于这将是本地库项目,您可以在github.com/etsy/AndroidStaggeredGrid/blob/master/library/src/上看到一个清单…。我不知道我们是否可以从dependency标签修改minsdk值。如果找到,将更新你。我更改了,但什么也没有发生。你使用库吗?我没有任何错误。只是适配器没有调用,图像没有设置。我使用compile'com.etsy.android.grid:library:1.0.5'你可以克隆git项目,并将其作为本地库项目添加到你的应用程序中。由于这将是本地库项目,您可以在github.com/etsy/AndroidStaggeredGrid/blob/master/library/src/上看到一个清单…。我不知道我们是否可以从dependency标签修改minsdk值。如果你能找到,就会更新你。