Java 在两个单独的类中实现两个按钮

Java 在两个单独的类中实现两个按钮,java,android,Java,Android,我是android新手,有一个基本问题 我在BlockIdActivity类中创建了一个按钮,它从ActionBarActivity扩展而来,并为该按钮实现OnClickListener。我想创建一个新类,该类还通过一个单独的按钮扩展了ActionBarActivity,并实现了OnClickListener。我想这样做的原因是将每个按钮实现的逻辑分离到单独的文件中 这两个按钮使用相同的布局,或者换句话说,它们位于同一页面上。这可能吗?如果没有,我也必须在BlockIdActivity中实现第二

我是android新手,有一个基本问题

我在BlockIdActivity类中创建了一个按钮,它从ActionBarActivity扩展而来,并为该按钮实现OnClickListener。我想创建一个新类,该类还通过一个单独的按钮扩展了ActionBarActivity,并实现了OnClickListener。我想这样做的原因是将每个按钮实现的逻辑分离到单独的文件中

这两个按钮使用相同的布局,或者换句话说,它们位于同一页面上。这可能吗?如果没有,我也必须在BlockIdActivity中实现第二个按钮吗

我在BlockIdActivity.java中的按钮工作正常。我已经在第二个类ScanWifi.java中实现了我的第二个按钮,它应该显示该按钮已按下。我在这里用祝酒词。我没有得到任何编译错误。然而,当我实际按下按钮时,我看不到我的祝酒词。以下是ScanWifi.java文件的内容:

public class ScanWifi extends ActionBarActivity {

private Button mScanWifiButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_block_id);

    mScanWifiButton = (Button)findViewById(R.id.ScanWifiButton);
    mScanWifiButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(ScanWifi.this,
                    R.string.ScanWifi_toast,
                    Toast.LENGTH_SHORT).show();
        }

});

}
}

strings.xml文件的内容包括:

<resources>

    <string name="app_name">SnifferTrain</string>
    <string name="BlockId">BlockId</string>
    <string name="ScanWifi">ScanWifi</string>
    <string name="ScanWifi_toast">ScanWifi Button Pressed</string>
    <string name="negative_blockid_toast">Block Id Field Cannot Be Less Than 1 or Empty.Setting BlockID To 1</string>
    <string name="action_settings">Settings</string>

</resources>
如果我的ScanWifi类确实可以扩展ActionBarActivity,那么当我按下ScanWifi按钮时,为什么没有显示祝酒词?谢谢

我之所以要这样做,是为了将 每个按钮都在单独的文件中

是的,您可以创建一个新的活动来实现这一点,因为onClick方法是difference-means,按钮做不同的事情

但是,可以使用简单的if-else逻辑使用按钮执行不同的操作。例如:

我有一个带有保存按钮的活动。如果数据已经在SQLite中,我将更新onCLick中的数据,否则数据将插入onCLick中的SQLite

关键是,这取决于你想做什么,你更喜欢什么。一个按钮做不同的事情将在活动类中创建一个长而复杂的代码