2017-03-07 5 views
0

ピンパッドと同じメソッドを継承するダースのアクティビティがあります。各アクティビティは、ピンパッドを除いて全く異なります。共通のクラスからメソッドを継承するために、私のアクティビティを取得するにはどうすればよいですか?私は何か間違っているのですか?メソッドを継承するアクティビティを取得する方法

public class TestActivity extends PinPadActivity { 
    TextView mEntry; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_test); 
     mEntry = (TextView) findViewById(R.id.entry_textview); 
    } 
} 


public class PinPadActivity extends AppCompatActivity { 
    String mPin; 
    String mPinShow; 
    TextView mEntry; 
    public void on1Click(View v) { 
     mPin = mPin+"1"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on2Click(View v) { 
     mPin = mPin+"2"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on3Click(View v) { 
     mPin = mPin+"3"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on4Click(View v) { 
     mPin = mPin+"4"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on5Click(View v) { 
     mPin = mPin+"5"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on6Click(View v) { 
     mPin = mPin+"6"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on7Click(View v) { 
     mPin = mPin+"7"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on8Click(View v) { 
     mPin = mPin+"8"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on9Click(View v) { 
     mPin = mPin+"9"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void on0Click(View v) { 
     mPin = mPin+"0"; 
     mPinShow = mPinShow+"*"; 
     mEntry.setText(mPinShow); 
    } 
    public void onClearClick(View v) { 
     mPin = ""; 
     mPinShow = ""; 
     mEntry.setText(""); 
    } 
} 

答えて

1

かかわらずコーディングの仕方や、それが最善のアプローチであるかどうか、あなたのコードが動作するようにするために、あなたはあなたのTestActivityにのTextView MEntry内を削除する必要がありますし、のTextView MEntry内に公共または保護修飾子を設定しますのPinPadActivity(デフォルトまたはプライベート変数はサブクラスによってアクセスできません)。これにより、onXClick()メソッドを呼び出して、TestActivityのPinPadActivityから継承したmEntry textviewを設定できるようになります。

+0

ありがとうございます!これは私にとって完璧に機能しました。 – Jay

0

これは正しく動作するようにできますが、正しい方法ではありません。 PinPadを断片にします。次に、それを使用する各アクティビティにそのフラグメントを含めます。

関連する問題