【发布时间】:2019-10-29 04:15:51
【问题描述】:
我想在我创建的另一个类中定义我在 MainActivity 中拥有的方法。我在解决这个问题时遇到了问题。 这甚至可能吗?我没有在网上找到任何关于在另一个类中定义方法的信息。
我已经包含了我的代码和我想要如何做的示例。
我的 MainActivity 代码
package com.example.flashcards;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
DatabseHelper DB = new DatabseHelper(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
changeText();
changeText2();
}
private void changeText() {
final String[] revertText = {"H2O", "What elements does water consist of?"};
final TextView textChange = (TextView) findViewById(R.id.flashcard1);
Button change = (Button) findViewById(R.id.answer1);
change.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int random = (int) (Math.random() * revertText.length);
textChange.setText(revertText[random]);
}
});
}
我的 TextC 代码(其他类)
package com.example.flashcards;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class TextC extends MainActivity {
private void changeText2() {
final String[] revertText = {"2,200° F", "How hot does lava get?"};
final TextView textChange = (TextView) findViewById(R.id.flashcard2);
Button change = (Button) findViewById(R.id.answer2);
change.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int random = (int) (Math.random() * revertText.length);
textChange.setText(revertText[random]);
}
});
}
}
我在 MainActivity 中定义的方法有效,但我似乎无法从我的其他类中让它工作。我正在尝试做的事情可能吗?我想在 TextC 类中定义 changeText2() 方法,但在 MainActivity 中声明,因为 MainActivity 具有 onCreate() 方法。
【问题讨论】: