在Android/Java中,当在另一个类/线程中编辑TextView时,可以使用接口更改TextView的值。
首先,在当前类中定义一个接口,以供其他类实现并调用该接口方法。示例代码如下:
public interface TextViewListener { void updateTextView(String value); }
然后,在当前类中将TextView赋值给一个变量,并在需要更改TextView的位置调用接口方法。示例代码如下:
public class MainActivity extends AppCompatActivity implements TextViewListener { TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text_view);
AnotherClass anotherClass = new AnotherClass(this);
anotherClass.start();
}
@Override
public void updateTextView(String value) {
textView.setText(value);
}
}
在其他类中,将TextViewListener作为构造函数参数,并在需要更改TextView的位置调用接口方法。示例代码如下:
public class AnotherClass extends Thread { TextViewListener listener;
public AnotherClass(TextViewListener listener) {
this.listener = listener;
}
@Override
public void run() {
// Some code to get the value to be displayed in the TextView
String value = "Hello World!";
listener.updateTextView(value);
}
}
这样,在执行AnotherClass的过程中,TextView的值将在MainActivity中更新。