Старт активити с PageAdapter

89
23 августа 2019, 05:50

Main.java

public class MainDD extends AppCompatActivity implements View.OnClickListener {
    private ViewPager mSlideViewPager;
    private LinearLayout mDotsLayout;
    private swipeDD sliderAdapter;
    private ImageView imag;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_dd);
        mSlideViewPager = (ViewPager) findViewById(R.id.slideViewPager);
        mDotsLayout = (LinearLayout) findViewById(R.id.dotsLayout);
        sliderAdapter = new swipeDD(this);
        mSlideViewPager.setAdapter(sliderAdapter);
        imag = (ImageView) findViewById(R.id.slide_image1);
        imag.setOnClickListener(this);
    }
        public void onClick(View v) {
        switch (v.getId()) {
            case R.id.slide_image1:
                Intent readMore = new Intent(v.getContext(), actDD1.class);
                v.getContext().startActivity(readMore);
        }
    }
}

pageadapter.java

public class swipeDD extends PagerAdapter {
    Context context;
    LayoutInflater layoutInflater;
    public swipeDD(Context context) {
        this.context = context;
    }
    public int[] slide_images = {
            R.drawable.dd3,
            R.drawable.mainbg,
            R.drawable.mainbg
    };
    public String[] slide_headings = {
            "Daredevil",
            " ",
            "Ooo"
    };
    @Override
    public int getCount() {
        return slide_headings.length;
    }
    @Override
    public boolean isViewFromObject( View view, Object o)  {
        return view == (RelativeLayout) o;
    }

    @Override
    public Object instantiateItem( ViewGroup container, int position) {
        layoutInflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        View view = layoutInflater.inflate(R.layout.slidedd, container, false);
        ImageView slideImageView = (ImageView) view.findViewById(R.id.slide_image1);
        TextView slideHeading = (TextView) view.findViewById(R.id.slide_heading);
        slideImageView.setImageResource(slide_images[position]);
        slideHeading.setText(slide_headings[position]);
        container.addView(view);
        return view;
    }
    @Override
    public void destroyItem(ViewGroup container, int position,  Object object) {
        container.removeView((RelativeLayout)object);
    }
}

Использую картинку как кнопку, каким способом можно перейти на новую активити, во всех остальных случаях не рабоатает

Answer 1

Как я понял, у вас не запускается новое активити по нажатию на картинку, если это так, то попробуйте поменять:

 Intent readMore = new Intent(v.getContext(), actDD1.class);

на

Intent readMore = new Intent(MainDD.this, actDD1.class);
  • также проверьте, что у вас прописано активити 'actDD1' в манифесте
READ ALSO
Почему выполняется лишний цикл?

Почему выполняется лишний цикл?

Только начал обучениеJava

106
CRUD приложение, документация Spring

CRUD приложение, документация Spring

Дали ковырять back-end на Spring(e) в компании, вот пытаюсь теперь разобраться с проектом и документациейОткрыл документацию, а тут вот это:

86
В телеграмм боте запуск бота в несколько потоков

В телеграмм боте запуск бота в несколько потоков

Всем привет! Сделал телеграм бота, который, в ответ на запрос "название города", отправляет данные о погоде на сегодня и завтраВсё работает,...

109
WildFly + Drools = GC overhead limit exceeded

WildFly + Drools = GC overhead limit exceeded

Есть такая штука как "Друлз": у него есть веб-приложение, позволяющее писать бизнес-правила прямо в браузере - называется "Business Central Workbench"

103