在onClick上保存一个整数,以便稍后在Android应用程序中调用它

时间:2012-02-07 01:10:16

标签: java android eclipse compiler-errors onclick

我的可能性是我拥有所有代码并且没有错误(根据eclipse)但是当我尝试在我的应用程序上打开“page1”时它冻结然后崩溃,如果我得到所有addPoints页面运行良好的信息,你能帮我找出导致崩溃的原因吗?谢谢! 继承我的代码

package com.canadais.civics;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class page1 extends Activity implements OnClickListener 
{

    TextView Q1A1;
    TextView Q1A2;

    public static final String PREFS_NAME = "MyPrefsFile";
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    public int testScore = (settings.getInt("YourScore", 0));
    Intent page2 = new Intent (this, Page2.class);

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
        Q1A1 = (TextView) findViewById(R.id.Q1A1);
        Q1A2 = (TextView) findViewById(R.id.Q1A2);
        Q1A1.setOnClickListener(this);
        Q1A2.setOnClickListener(this);
        //test = (TextView) findViewById(R.id.test);






        //test.setText(settings.getInt("YourScore", 0));


    }
    public void onClick(View v) 
    {
        switch(v.getId())
        {
        case R.id.Q1A1:
            addPoints(10);
            //Intent page2 = new Intent (this, Page2.class);
            startActivity(page2);
            break;
        case R.id.Q1A2:
            addPoints(5);
            //Intent page22 = new Intent (this, Page2.class);
            startActivity(page2);
            break;
        }   
    }



    public void addPoints(int points) 
    {
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        SharedPreferences.Editor editor = settings.edit();
        editor.putInt("YourScore", (testScore + points));
        editor.commit();       
    }

}

1 个答案:

答案 0 :(得分:0)

如果在执行 startActivity()后遇到问题,可能有几种原因。我现在可以想到两个:

  1. AndroidManifest.xml ;
  2. 中缺少活动声明
  3. 要启动的活动( Page2.java )中的代码不正确。
  4. 为了确保您遇到了哪个错误,我建议您应该学会发布在Android SDK中捆绑的LogCat中出现的错误消息,而不是电话屏幕上的弹出消息,否则,没有人能够准确地弄清楚问题。