Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序未启动_Java_Android_Eclipse_Nullpointerexception_Android Activity - Fatal编程技术网

Java 应用程序未启动

Java 应用程序未启动,java,android,eclipse,nullpointerexception,android-activity,Java,Android,Eclipse,Nullpointerexception,Android Activity,我是android编程新手,最近开始制作一个实践应用程序 虽然代码是无错误的,但在模拟器中启动时,应用程序会显示“不幸的是PocketMoney已经停止” 日志: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.pocketmoney/com.example.pocketmoney.PocketMoney}: java.

我是android编程新手,最近开始制作一个实践应用程序

虽然代码是无错误的,但在模拟器中启动时,应用程序会显示“不幸的是PocketMoney已经停止”

日志:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate  activity  
ComponentInfo{com.example.pocketmoney/com.example.pocketmoney.PocketMoney}:   
java.lang.NullPointerException
MainActivity.java

public class PocketMoney extends Activity {


final String TAG="pocketmoney";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Log.i(TAG, "Now in onCreate() ");
    final Button NonMeal_button=(Button)findViewById(R.id.nonmeal_button);
    final Button Meal_button=(Button)findViewById(R.id.meal_button);
    if(checkPocketValues()==false)
    {
        startSettings_Activity();
    }
    Meal_button.setOnClickListener(new OnClickListener() {
        //listener for Meal_Button 
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            startMeal_Money_Activity();
        }
    });
    NonMeal_button.setOnClickListener(new OnClickListener() {
        //Listener for NonMeal_button 
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        startNonMeal_Money_Activity();  
        }
    });

}
void startSettings_Activity(){
//to start Settings_Activity
    startActivity(new Intent(getApplicationContext(),Settings_Activity.class));
}
void startMeal_Money_Activity()
{
    startActivity(new Intent(this,Meal_Money_Activity.class));
}
void startNonMeal_Money_Activity()
{
    startActivity(new Intent(this,NonMeal_Money_Activity.class));
}


boolean checkPocketValues()
{
    //to check if Pocket values are filled

    boolean SettingsFilled=true;
    Settings_Activity check=new Settings_Activity();
    if((check.preferences.getFloat(check.MealMoney,0)==0)&&check.preferences.getFloat(check.NonMealMoney, 0)==0)
    {
        SettingsFilled=false;

    }

        return SettingsFilled;
}
public void onStop()
{
    Log.i(TAG,"now onStop method is called ");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.pocket_money, menu);
    return true;
}

}
你有

Settings_Activity check=new Settings_Activity(); // wrong
看起来
Settings\u Activity
是一个活动类,您正在实例化同一个活动类,这是错误的

引用拉格哈夫

通过将一个活动视为一个普通的Java类,您将得到一个null 上下文由于活动中的大多数方法都是在其上下文中调用的,因此 将获得空指针异常,这就是应用程序崩溃的原因

你有这个吗

(check.preferences.getFloat(check.MealMoney,0)
因此,崩溃可能是由于这个
Settings\u Activity check=new Settings\u Activity()

替换为:

 void startSettings_Activity(){
//to start Settings_Activity
    startActivity(new Intent(this,Settings_Activity.class));
}

发布logcat错误代码和清单文件代码您的
NullPointerException
,可能在
onCreate
方法中。发布完整的堆栈跟踪,并对堆栈跟踪中指定的数字行进行注释。请显示
main.xml
layoutt这与崩溃无关
 void startSettings_Activity(){
//to start Settings_Activity
    startActivity(new Intent(this,Settings_Activity.class));
}