相关疑难解决方法(0)

Android:我无法拥有ViewPager WRAP_CONTENT

我已经设置了一个简单的ViewPager,每页都有一个高度为200dp的ImageView.

这是我的寻呼机:

pager = new ViewPager(this);
pager.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
pager.setBackgroundColor(Color.WHITE);
pager.setOnPageChangeListener(listener);
layout.addView(pager);
Run Code Online (Sandbox Code Playgroud)

尽管将高度设置为wrap_content,但即使imageview仅为200dp,寻呼机也会填充屏幕.我试图用"200"替换寻呼机的高度,但这给了我多种分辨率的不同结果.我无法将"dp"添加到该值.如何在寻呼机的布局中添加200dp?

android

245
推荐指数
11
解决办法
10万
查看次数

密钥必须是特定于应用程序的资源ID

为什么我会得到这个例外?

05-18 20:29:38.044: ERROR/AndroidRuntime(5453): java.lang.IllegalArgumentException: The key must be an application-specific resource id.
05-18 20:29:38.044: ERROR/AndroidRuntime(5453):     at android.view.View.setTag(View.java:7704)
05-18 20:29:38.044: ERROR/AndroidRuntime(5453):     at com.mypkg.viewP.inflateRow(viewP.java:518)
Run Code Online (Sandbox Code Playgroud)

有问题的一行是:

((Button) row.findViewById(R.id.btnPickContact)).setTag(TAG_ONLINE_ID,objContact.onlineid);
Run Code Online (Sandbox Code Playgroud)

我把它定义为:

private static final int TAG_ONLINE_ID = 1;
Run Code Online (Sandbox Code Playgroud)

android illegalargumentexception

142
推荐指数
5
解决办法
6万
查看次数

如何获取给定项目的ViewPager的子视图

我会尽可能简短而简单地回答这个问题.

View activeView = mViewPager.getChildAt(mViewPager.getCurrentItem());
Run Code Online (Sandbox Code Playgroud)

当前项为0和1时返回子视图.但如果当前项为2则返回null.这是为什么?

编辑:让我重温一下自己.如何在任何给定项目位置获取ViewPager的子视图?

android android-viewpager

22
推荐指数
2
解决办法
3万
查看次数

无法在Viewpager中获取当前视图

我正在使用viewpager在多个页面上显示一些文本.我正在尝试获取当前视图,我选择了一个新页面.我想获取当前视图的原因是因为基于页码我正在改变一些视图组件的一些属性,如textview,image等.我使用下面的代码相同

ViewPager mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
View CurrView;
OnPageChangeListener pageChangelistener = new OnPageChangeListener() {
  @Override
       public void onPageSelected(int pageSelected) {
          currView = mPager.getChildAt(mPager.getCurrentItem());
      myTextView = (TextView)currView.findViewById(R.id.myTextView);
              loadBookmarkSetting(pageSelected);//do some changes in myTextView    properties based on the page number  }
 mPager.setOnPageChangeListener(pageChangelistener);
Run Code Online (Sandbox Code Playgroud)

现在我面临的问题是,在滚动3页后,当我到第4页时,我在"myTextView =(TextView)currView.findViewById(R.id.myTextView);"行上得到nullpointer异常.这是因为currView为null.如果我在这里做错了什么想法.有没有其他方法可以捕获viewpager中的当前视图(页面),以便我可以根据我所在的页码对视图进行更改?

android

18
推荐指数
1
解决办法
2万
查看次数

Android:ViewPager FragmentStatePagerAdapter获取当前视图

问题:如何获取ViewPager FragmentStatePagerAdapter的当前视图?

  1. 我花了将近24小时的时间在这里寻找合适的解决方案.
  2. 获得当前的位置很容易,我已经知道了.这是获取当前视图.
  3. FragmentStatePagerAdapter是必需的,不是PagerAdapter.

    • 这个解决方案建议通过setTagfindViewWithTaginstantiateItem(View container, int position).这适用于PagerAdapter.
    • 然而,在FragmentStatePagerAdapterinstantiateItem一个ViewGroup PARAM 没有 查看 PARAM:instantiateItem(**ViewGroup** container, int position)

所以我希望这不是不可能,是吗?请帮忙!

android android-viewpager fragmentstatepageradapter

8
推荐指数
1
解决办法
6047
查看次数

按钮上的更改页面单击ViewPager Android

更新: Logcat has been added to the question 我实际上想要改变视图(从一个片段到另一个片段.)button Click我尝试了很多东西,但我无法做到.我还写了一个CustomViewPager停止在刷屏幕时更改页面.它工作正常.

这是我的代码:

MyFragment

 public CustomViewPager mViewPager;
 public Button next;
 public static int count=0;

 public static final MyFragment newInstance(String message,ArrayList<String> a)

 {

   MyFragment f = new MyFragment();

   Bundle bdl = new Bundle(1);

   bdl.putString(EXTRA_MESSAGE, message);
   bdl.putStringArrayList(EXTRA_ARRAY, a);

   f.setArguments(bdl);

   return f;

 }



 @Override

 public View onCreateView(LayoutInflater inflater, ViewGroup container,

   Bundle savedInstanceState) {

   String message = getArguments().getString(EXTRA_MESSAGE);
   View v = inflater.inflate(R.layout.myfragment_layout, container, false);

   spinner = (Spinner)v.findViewById(R.id.spinoptions);
   answer = (EditText)v.findViewById(R.id.answer);
   next = …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

5
推荐指数
2
解决办法
3万
查看次数