Ahm*_*aza 24 java android android-intent android-activity android-studio
我是android开发的新手,并且没有深入的Java知识.我长期困在一个问题上.我正在尝试按下按钮打开一个新活动.但我得到一个错误错误:不是封闭的类:Katra_home.
这是MainActivity.java的代码
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button)findViewById(R.id.bhawan1);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent myIntent = new Intent(Katra_home.this, Katra_home.class);
Katra_home.this.startActivity(myIntent);
}
});
Run Code Online (Sandbox Code Playgroud)
这是Katra_home.java的代码
public class Katra_home extends BaseActivity {
protected static final float MAX_TEXT_SCALE_DELTA = 0.3f;
private ViewPager mPager;
private NavigationAdapter mPagerAdapter;
private SlidingTabLayout mSlidingTabLayout;
private int mFlexibleSpaceHeight;
private int mTabHeight;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.katra_home);
ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayHomeAsUpEnabled(true);
ab.setHomeButtonEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)
虽然我在stackoverflow上看到了很多答案,但我无法理解它们,因为我是android开发的新手.所以我想问一下,我需要在代码中进行哪些更改才能使其正常工作.
Dal*_*kar 37
它应该是
Intent myIntent = new Intent(this, Katra_home.class);
startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)
您必须使用现有活动上下文来启动新活动,尚未创建新活动,并且您无法使用其上下文或调用方法.
由于您使用了this关键字,因此不会引发封闭类错误.this是对当前对象的引用 - 正在调用其方法或构造函数的对象.与this只可以参照当前对象的任何成员从一个实例方法或构造内.
Katra_home.this 是无效的构造
小智 7
Intent myIntent = new Intent(MainActivity.this, Katra_home.class);
startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)
这应该是完美的一个:)
| 归档时间: |
|
| 查看次数: |
87021 次 |
| 最近记录: |