簡體   English   中英

ViewPager應用程序不起作用(Eclipse)

[英]ViewPager app not working (Eclipse)

我需要你的幫助。 我打算使用ViewPager制作一個應用程序,因為我從來沒有為android編程過,所以我認為先制作一個示例應用程序會很不錯。 我想使用ViewPager與經典的項目列表樣式略有不同,因此我制作了一個應用程序,它將顯示從#000000到#FFFFFF的所有顏色(或每10種顏色)。

沒用 我已經在模擬器上啟動了該應用程序,但是我只得到了一個白屏。 如果啟動時ViewPager的默認位置為0,則顏色應為黑色。 當我嘗試創建一個斷點時,程序不會停止,或者永遠不會到達斷點。 我正在使用日食。

這些是項目的文件

MainActivity.java

package com.example.colorswipe;


import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;

public class MainActivity extends Activity {
    private ViewPager mPager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mPager=(ViewPager)this.findViewById(R.id.pager);
        mPager.setAdapter(new MyAdapter());

    }

    private class MyAdapter extends PagerAdapter {

        @Override
        public int getCount() {
            return 0xFFFFFF/10;
        }

        @Override
        public boolean isViewFromObject(View arg0, Object arg1) {
            // TODO Auto-generated method stub
            return false;
        }


        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            ColorView view=new ColorView(container.getContext());
            view.setBackgroundColor(android.graphics.Color.parseColor(String.format("#%06X", position*10)));
            view.setText(position);
            container.addView(view);
            return view;
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView((View)object);
        }
    }
}

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

    />
</LinearLayout>

ColorView.java

package com.example.colorswipe;

import android.content.Context;
import android.widget.LinearLayout;
import android.widget.TextView;

public class ColorView extends LinearLayout {
    private TextView tv;
    public ColorView(Context context) {
        super(context);
        LayoutParams params=new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
        this.setLayoutParams(params);
        TextView tv=new TextView(context);
        this.tv=tv;
        this.addView(tv);
    }

    public void setText(int position) {
        tv.setText(Integer.toString(position).toCharArray(), 0, Integer.toString(position).length());
    }

}

編輯-視圖分頁器在那里,但我認為您無法正確解析顏色。

我發現了問題。 isViewFromObject必須實現為return arg0==arg1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM