简体   繁体   English

按钮无法打开新活动

[英]Button doesn't open new activity

I have a "inicio" activity with viewpager and have a button in one page inside of the viewpager , but when i click on it nothing happens. 我使用viewpager进行“ inicio”活动,并且在viewpager的一页内有一个按钮,但是当我单击它时,什么也没有发生。

I've tried every mode i found on internet cuz it nothing happens or "has stopped working" 我已经尝试过在互联网上找到的每种模式,因为它什么也没有发生或“已停止工作”

I dont know what to do. 我不知道该怎么办。 It's simpliest thing ( open a activity ) but dont know why it dont works.... 这是最简单的事情(打开一个活动),但是不知道为什么它不起作用。

I think that maybe it is opened in background by the viewpager... 我认为也许是由viewpager在后台打开的...

inicio . inicio。 java java的

package com.example.vamaro.vamaroapp;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;

import com.example.vamaro.vamaroapp.R;

public class inicio extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_inicio);
        ViewPager viewPager = (ViewPager)findViewById(R.id.iniciopagerp);
        viewPager.setAdapter(new inicioAdapter());

    }
    public class inicioAdapter extends PagerAdapter{
            LayoutInflater layoutInflater;
            int[] layouts={R.layout.inicioslide,R.layout.activity_casasslide,R.layout.deptoslide};
            @Override
    public int getCount(){
                return layouts.length;
            }
            @Override
    public boolean isViewFromObject(View view, Object object) {
           return (view==(LinearLayout)object);
            }
            @Override
    public Object instantiateItem(ViewGroup container,int position) {
                layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View vamaro1 = layoutInflater.inflate(R.layout.inicioslide, container,false);
                View vamaro2 = layoutInflater.inflate(R.layout.activity_casasslide, container,false);
                View vamaro3 = layoutInflater.inflate(R.layout.deptoslide, container,false);
                View viewarr[] = { vamaro1,vamaro2,vamaro3};
                container.addView(viewarr[position]);
                return viewarr[position];
            }
            @Override
            public void destroyItem(ViewGroup container,int position, Object object){
                container.removeView((LinearLayout)object);
            }

}
}

and the casasslider . 和casasslider。 java java的

package com.example.vamaro.vamaroapp;

import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class casasslide extends AppCompatActivity {
private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_casasslide);
        btn = (Button) findViewById(R.id.butt);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openActivityTotalC();
            }
        });
    }
    public void openActivityTotalC(){
        Intent i = new Intent(this, TotalCasas.class);
        casasslide.this.startActivity(i);
    }
}

you said your button is inside one of viewpager pages 您说您的button位于viewpager页面之一内

but you've defined your button inside casasslide activity . 但是您已经在casasslide activity定义了button

then where is the view pager page? 那么view pager页面在哪里?

there should be a fragment in the viewPager that has the button . viewPager中应该有一个包含buttonfragment and the button should be defined there, not in the casasslide 并且button应该在此处定义,而不是在casasslide定义

That is alredy activity you don't need to write getactivity() or anything. 那是不需要编写getactivity()或任何东西的繁琐活动。

just this 只是这个

Intent I = new Intent (this,Next.class);
startActivity(i);

if that working then debug your code and check onclick() called or not 如果可以正常工作,则调试您的代码并检查是否调用onclick()

happy coding!!! 快乐的编码!!!

Change from this 从这里改变

public void openActivityTotalC(){
    Intent i = new Intent(this, TotalCasas.class);
    casasslide.this.startActivity(i);
}

To this 对此

public void openActivityTotalC(){
    Intent i = new Intent(this, TotalCasas.class);
    startActivity(i);
}

It should solve the problem. 它应该解决问题。 Otherwise you might need to post your Error log so other can help you to debug. 否则,您可能需要发布错误日志,以便其他人可以帮助您进行调试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM