CardFragment未在FragmentGridPagerAdapter中显示-Android Wear
我正在尝试用Android Wear制作一个简单的GridPager。问题是我可以在不同的行和列中滑动,但卡不可见。。 此外,我在日志中得到以下警告:CardFragment未在FragmentGridPagerAdapter中显示-Android Wear,android,wear-os,Android,Wear Os,我正在尝试用Android Wear制作一个简单的GridPager。问题是我可以在不同的行和列中滑动,但卡不可见。。 此外,我在日志中得到以下警告: 06-16 07:49:55.883 1739-1739/ W/GridViewPager﹕ Unknown child view, not claimed by adapter: android.support.wearable.view.CardScrollView{2231190b V.E..... ......I. 0,0-0,0}
06-16 07:49:55.883 1739-1739/ W/GridViewPager﹕ Unknown child view, not claimed by adapter: android.support.wearable.view.CardScrollView{2231190b V.E..... ......I. 0,0-0,0}
代码活动:
public class MainActivity extends FragmentActivity {
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub) {
final GridViewPager mGridPager = (GridViewPager) stub.findViewById(R.id.pager);
mGridPager.setAdapter(new SampleGridPagerAdapter(MainActivity.this, getFragmentManager()));
}
});
}
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.wearable.view.GridViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
代码适配器:
public class SampleGridPagerAdapter extends FragmentGridPagerAdapter {
private final Context mContext;
private ArrayList<SimpleRow> mPages;
public SampleGridPagerAdapter(Context context, FragmentManager fm) {
super(fm);
mContext = context;
initPages();
}
private void initPages() {
Log.i("adapter", "init pages");
mPages = new ArrayList<>();
SimpleRow row1 = new SimpleRow();
row1.addPages(new SimplePage("Title1", "Text1", R.drawable.ic_full_cancel, R.drawable.ic_full_sad));
row1.addPages(new SimplePage("Title2", "Text2", R.drawable.ic_full_cancel, R.drawable.ic_full_sad));
SimpleRow row2 = new SimpleRow();
row2.addPages(new SimplePage("Title3", "Text3", R.drawable.ic_full_cancel, R.drawable.ic_full_sad));
SimpleRow row3 = new SimpleRow();
row3.addPages(new SimplePage("Title4", "Text4", R.drawable.ic_full_cancel, R.drawable.ic_full_sad));
SimpleRow row4 = new SimpleRow();
row4.addPages(new SimplePage("Title5", "Text5", R.drawable.ic_full_cancel, R.drawable.ic_full_sad));
row4.addPages(new SimplePage("Title6", "Text6", R.drawable.ic_full_cancel, R.drawable.ic_full_sad));
mPages.add(row1);
mPages.add(row2);
mPages.add(row3);
mPages.add(row4);
}
@Override
public int getRowCount() {
return mPages.size();
}
@Override
public Drawable getBackgroundForPage(int row, int column) {
return mContext.getDrawable(R.drawable.bg_alarm_day);
}
@Override
public int getCurrentColumnForRow(int row, int currentColumn) {
return currentColumn;
}
@Override
public int getColumnCount(int row) {
return mPages.get(row).size();
}
@Override
public Fragment getFragment(int row, int column) {
SimplePage page = mPages.get(row).getPages(column);
return CardFragment.create(page.getmTitle(), page.getmText());
}
@Override
public boolean isViewFromObject(View view, Object o) {
return view.equals(o);
}
}
公共类SampleGridPagerAdapter扩展了FragmentGridPagerAdapter{
私有最终上下文mContext;
私人律师事务所;
公共SampleGridPagerAdapter(上下文上下文,FragmentManager fm){
超级(fm);
mContext=上下文;
initPages();
}
私有void initPages(){
Log.i(“适配器”、“初始页面”);
mPages=newarraylist();
SimpleRow行1=新SimpleRow();
行1.添加页面(新的SimplePage(“标题1”,“文本1”,R.drawable.ic_full_cancel,R.drawable.ic_full_sad));
行1.添加页面(新的SimplePage(“标题2”,“文本2”,R.drawable.ic_full_cancel,R.drawable.ic_full_sad));
SimpleRow row2=新的SimpleRow();
行2.添加页面(新的SimplePage(“标题3”,“文本3”,R.drawable.ic_full_cancel,R.drawable.ic_full_sad));
SimpleRow row3=新SimpleRow();
第3行。添加页面(新的SimplePage(“标题4”,“文本4”,R.drawable.ic_full_取消,R.drawable.ic_full_sad));
SimpleRow row4=新SimpleRow();
行4.添加页面(新的SimplePage(“标题5”,“文本5”,R.drawable.ic_full_cancel,R.drawable.ic_full_sad));
行4.添加页面(新的SimplePage(“标题6”,“文本6”,R.drawable.ic_full_cancel,R.drawable.ic_full_sad));
新增(第1行);
新增(第2行);
添加(第3行);
添加(第4行);
}
@凌驾
public int getRowCount(){
返回mPages.size();
}
@凌驾
公共绘图getBackgroundForPage(int行,int列){
返回mContext.getDrawable(R.drawable.bg\u alarm\u day);
}
@凌驾
public int getCurrentColumnForRow(int行,int currentColumn){
返回当前列;
}
@凌驾
公共整型getColumnCount(整型行){
返回mPages.get(row.size();
}
@凌驾
公共片段getFragment(int行,int列){
SimplePage=mPages.get(行).getPage(列);
返回CardFragment.create(page.getmTitle(),page.getmText());
}
@凌驾
公共布尔值isViewFromObject(视图,对象o){
返回视图。等于(o);
}
}
我希望有人能在这里帮助我 我不得不删除:
@Override
public boolean isViewFromObject(View view, Object o) {
return view.equals(o);
}
显然,在我这方面,这一直是错误的。Hej,你能发布你的SimpleRow类吗?:)