Java 按钮不存在';不要开始新的活动
我在viewpager中有一个“inicio”活动,并且在viewpager的一个页面中有一个按钮,但是当我单击它时,什么也没有发生 我已经尝试了我在互联网上找到的每一种模式,因为它什么也没发生或者“已经停止工作” 我不知道该怎么办。这是最简单的事情(打开一个活动) 但是我不知道为什么它不起作用 我想它可能是在后台被viewpager打开的 伊尼西奥。爪哇Java 按钮不存在';不要开始新的活动,java,android,android-button,Java,Android,Android Button,我在viewpager中有一个“inicio”活动,并且在viewpager的一个页面中有一个按钮,但是当我单击它时,什么也没有发生 我已经尝试了我在互联网上找到的每一种模式,因为它什么也没发生或者“已经停止工作” 我不知道该怎么办。这是最简单的事情(打开一个活动) 但是我不知道为什么它不起作用 我想它可能是在后台被viewpager打开的 伊尼西奥。爪哇 package com.example.vamaro.vamaroapp; import android.content.Context;
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);
}
}
}
还有卡萨斯勒。爪哇
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);
}
}
您说您的
按钮
位于查看页面
的其中一个页面内
但是您已经在casasslide
活动中定义了按钮
那么查看页面在哪里
在viewPager
中应该有一个片段
,该片段具有按钮
。
而按钮应该在那里定义,而不是在casasslide
中定义,这是一个通常不需要编写getactivity()或任何东西的活动
就这样
Intent I = new Intent (this,Next.class);
startActivity(i);
如果可以,则调试代码并检查是否调用了onclick()
快乐编码 从此改变
public void openActivityTotalC(){
Intent i = new Intent(this, TotalCasas.class);
casasslide.this.startActivity(i);
}
对此
public void openActivityTotalC(){
Intent i = new Intent(this, TotalCasas.class);
startActivity(i);
}
它应该能解决问题。否则,您可能需要发布错误日志,以便其他人可以帮助您进行调试。请显示错误logs@Blood21我建议您开始调试代码,看看您达到了哪些部分,哪些部分没有达到。活动是否已创建?按钮是否实例化?按钮的回调onClick()是否已输入?在此处发布错误日志它与javascript
的关系如何?它并非没有片段:o在inicio中有ViewPager您只是使用casasslide布局,而不是它的活动。您应该在inicio活动中定义按钮,或者为其指定布局的单个片段。别忘了把片段传给viewpager,而不是layoutidk为什么我会对它发狂。。。。太简单了!xd感谢Mohamad Rostami,我必须在viewpager的java中定义它,而不是在布局的java中,因为它没有被使用。。。谢谢