以下是MainActivity代码:
package com.vanitfyf.karko;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView1 = (TextView) findViewById(R.id.textView1);
textView1.setTextColor(Color.BLUE);
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(MainActivity.this, "entering debug mode", Toast.LENGTH_LONG).show();
startActivity(new Intent(MainActivity.this, SecondActivity.class ));
}
});
Button button2 = (Button)findViewById(R.id.button2);
button2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(MainActivity.this, "entering normal mode", Toast.LENGTH_LONG).show();
startActivity(new Intent(MainActivity.this, ThirdActivity.class));
}
});
}
/* @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}*/
}
这是SecondActivity代码:
package com.vanitfyf.karko;
import android.app.*;
import android.content.*;
import android.os.*;
import android.widget.*;
public class SecondActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second); }
protected void show(Context context) {
Toast.makeText(context, "welcome", Toast.LENGTH_LONG).show();
}
}
这是ThirdActivity代码:
package com.vanitfyf.karko;
import android.app.*;
import android.os.*;
import android.widget.*;
public class ThirdActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activitythird);
TextView textview2 = (TextView) findViewById(R.id.textview2);
textview2.setText("Welcome to normal mode");
}
}
当我尝试按下打开ThirdActivity的按钮时,应用程序会出现问题。第三个活动不显示。在飞机旅行期间,我一直在沮丧地拔出我的头发试图找出错误的但我仍然没有得到它。顺便说一句,活动都引用了正确的布局.xmls。
任何指针?我是新手(很明显),所以我很感激任何帮助!
答案 0 :(得分:0)
根据您提供的代码,有几个直观的原因会导致您的应用在您描述的情况下崩溃。
确保在Manifest中声明第三个Activity,否则在启动Activity时您将收到一个空指针异常(可能导致应用程序崩溃)。这是您的应用程序中的所有活动的要求。请在此处查看更多信息:http://developer.android.com/guide/topics/manifest/manifest-intro.html。
此外,请验证第三个Activity的活动“activitythird”是否为有效的资源名称,并包含您在第三个活动“textview2”中引用的TextView。如果使用Eclipse ADT或Android Studio等IDE,则应该收到未找到资源的指示;如果不是自动的,至少在编译时。这同样适用于启动第三个活动“button2”的启动按钮。
答案 1 :(得分:0)
如果未在清单中声明,它也会显示在LogCat
中