【发布时间】:2014-08-31 01:56:39
【问题描述】:
我是 android 开发和 Java 编程的新手。我正在尝试创建一个没有新用户界面的单独类。假设我有一个主要活动,如果我单击一个按钮,它将启动一个类并调用其中的方法并在主要活动上显示文本。
现在我创建了一个 Main 活动和一个名为 BluetoothOn 的类:请查看我的代码:
这是 enablemyBluetooth 方法是按钮单击的主要活动
public class MainActivity{
....
....
public void enablemyBluetooth(View view){
BluetoothOn ble = new BluetoothOn();
ble.initializeBlue();
}
}
现在我创建了一个类,我计划在这里执行所有进程而不干预程序的主要活动,就像它在后台运行一样。在我的代码中,我只想更改 Textview,但是当我在我的 android 上运行它,它说不幸的是应用程序停止了。
public class BluetoothOn {
private void initializeBlue(){
textView1 =(TextView)findViewById(R.id.textView1);
textView1.setText(BleisOn);
}
}
请注意,我编译这个程序没有错误/所有变量都被声明了。我试图在 Main 上将蓝牙类创建为私有并且它可以工作。我只想将它创建为包上的另一个类来组织我的代码。
如果我想创建一个单独的类,真的有必要创建另一个活动吗?谁能给我提示我应该做什么或声明?请帮忙谢谢。
更新:感谢您的所有回答,不幸的是,我无法通过这个简单的过程来处理另一个类...我对 Java 还是很陌生,仍在学习我的方式..无论如何,这就是我遇到的。
我关注了 unohu 建议的帖子,但是它在 Main 上向我提供了一个错误,即“BluetoothOn 类型中的 initializeBlue() 方法不适用于参数。
这是一个更完整的类代码:
主要活动:
public class MainActivity extends Activity {
public void enableBluetooth (View view){
BluetoothOn ble = new BluetoothOn();
ble.initializeBlue(); // error on this part
}
}
蓝牙开启类:
public class BluetoothOn{
public TextView textView1;
public void initializeBlue(View myView){
String BleisOn = "connect me now";
textView1 = (TextView)myView.findViewById(R.id.textView1);
textView1.setText(BleisOn);
}
}
注意:我在最初的帖子中有错字,我将初始化声明为私有,但它应该是公开的。我正在尝试尝试 luisdurazoa 的建议,但是我对接口不熟悉..
【问题讨论】:
-
发布您的 logcat 输出。
-
不是每个班级都需要布局。您正在寻找的是助手类。 programmers.stackexchange.com/questions/132067/…
标签: java android class android-activity