目前,我正在尝试从Python模块中了解如何更改MainActivity中的文本视图( UI是用Java编写的)。我知道我必须将我的主体活动以某种方式传递给我的python模块,但是我仍然无法找到如何正确地完成它。我正在使用Chaquopy进行python交互。
我现在的主要活动是这样的
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //set the layout
final TextView simpleTextView = (TextView) findViewById(R.id.simpleTextView); //get the id for TextView
Button changeText = (Button) findViewById(R.id.btnChangeText); //get the id for button
changeText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
simpleTextView.setText("After Clicking"); //set the text after clicking button
}
});
}
}现在,我需要在python中使用一个函数来操作文本视图。
提前谢谢。
发布于 2020-05-13 18:10:03
总之,您需要做的是:
具体来说,你可以:
setText。例如,setText(mod.callAttr(...).toString()),其中mod是getModule的返回值。或者:
callAttr对象传递给Python函数,然后让Python代码调用setText。例如,如果您的Python函数名为f,那么您将编写mod.callAttr("f", simpleTextView),该函数将接收TextView作为其参数。https://stackoverflow.com/questions/61780634
复制相似问题