0

我想制作和 API 在斑马打印机上打印票,我有我的主要活动(仅用于测试):

public class ZebraPrinterActivity extends Activity {
public EditText macAddress;
public Button testButton;
public Printer zebra;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    macAddress = (EditText) this.findViewById(R.id.editText1);
    testButton = (Button) this.findViewById(R.id.button1);

    zebra = new Printer(new ZebraPrinterActivity());
    testButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            new Thread(new Runnable() {
                public void run() {

                }
            }).start();
        }
    });
}}

我有我的类(API)称为打印机:

public class Printer {

private ZebraPrinterConnection zebraPrinterConnection;
private ZebraPrinter zebra;
private String MAC;

public Printer (Activity activity) {
    zebraPrinterConnection = null;
    zebra = null;
    activity....get Edit Text
    this.MAC = MAC;
}}

我需要的是从早期活动中获取编辑文本,有没有办法做到这一点?

4

1 回答 1

3

你试过这个吗?

EditText macAddress = (EditText) activity.findViewById(R.id.editText1);
String macAddressString = macAddress.getText();

EditText由于在非 UI 线程中访问 UI 元素的限制,某些视图上的操作可能无法正常工作。如果发生这种情况,请参阅此 SO 问题以了解从另一个线程访问 EditText 元素的方法:

在非 UI 线程中做一些 Android UI 的事情

或者关于同一主题的 Android 博客文章:

无痛穿线 | Android 开发者博客

于 2012-06-08T17:44:34.167 回答