[英]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
中应该有一个包含button
的fragment
。 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.