-7

このコードの何が問題なのかわかる人はいますか? ティッカーコードになるので、ボタンをクリックすると1が追加され、再び1が2に変わります.

より明確にするために、これらの行はエラーとして表示されます。

countButton.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
              mCount++;
              countTextView.setTextView.setText("Count: " + mCount);

すべてのコード:

  package com.example.counter;

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


public class MainActivity extends Activity {
    // Private member field to keep track of the count
    private static int mCount = 0;

    private TextView countTextView;
    private Button countButton;
    public static final String PREFS_NAME = "com.example.myApp.mCount";
    private SharedPreferences settings = null;
    private SharedPreferences.Editor editor = null;

    /** ADD THIS METHOD **/
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);  
      setContentView(R.layout.activity_main);
      countTextView = (TextView) findViewById(R.id.TextViewCount);
      countButton = (Button) findViewById(R.id.ButtonCount);

      countButton.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
              mCount++;
              countTextView.setText("Count: " + mCount);
              editor = settings.edit(); 
              editor.putInt("mCount", mCount);
              editor.commit();
          }
      });
    settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);


     }

    @Override
    public void onPause() {
      super.onPause();  
    }

    @Override
    public void onResume() {
      super.onResume();  
      mCount = settings.getInt("mCount", 0);
      countTextView.setText("Count: " + mCount);
    }
    }
4

5 に答える 5

3

再開と一時停止の間でロジックを切り替えました。

一時停止すると、番号が保持されます。

履歴書は古い番号を読む必要があります。

于 2013-02-10T19:00:37.640 に答える
1

誰もが提案するものに加えて変更 new OnClickListener()します。new View.OnClickListener()

于 2013-02-10T19:12:56.687 に答える
0

要件については、次の実行コードを参照してください

public class MainActivity extends Activity {
// Private member field to keep track of the count
private static int mCount = 0;

private TextView countTextView;
private Button countButton;
public static final String PREFS_NAME = "com.example.myApp.mCount";
private SharedPreferences settings = null;
private SharedPreferences.Editor editor = null;

/** ADD THIS METHOD **/
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);  
  setContentView(R.layout.activity_main);
  countTextView = (TextView) findViewById(R.id.TextViewCount);
  countButton = (Button) findViewById(R.id.ButtonCount);

  countButton.setOnClickListener(new OnClickListener() {
      public void onClick(View v) {
          mCount++;
          countTextView.setText("Count: " + mCount);
          editor = settings.edit(); 
          editor.putInt("mCount", mCount);
          editor.commit();
      }
  });
settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);


 }

@Override
public void onPause() {
  super.onPause();  
}

@Override
public void onResume() {
  super.onResume();  
  mCount = settings.getInt("mCount", 0);
  countTextView.setText("Count: " + mCount);
}
}

コピーして貼り付けるだけです。それでおしまい。

于 2013-02-10T19:09:03.657 に答える
0
import android.content.DialogInterface.OnClickListener;

に変更する必要があります

import android.view.View.OnClickListener;

間違ったリスナーをインポートしているため、別のメソッド署名が必要ですonClick()

言及された他のすべてのものに加えて。

于 2013-02-10T19:18:32.960 に答える
0

使用せず.setTextView.setText(..)、単に使用します.setText (CharSequence text)

于 2013-02-10T19:02:55.233 に答える