gpt4 book ai didi

java - 将 Activity 中定义的布局更改为 xml 布局

转载 作者:行者123 更新时间:2023-12-02 07:45:38 25 4
gpt4 key购买 nike

我正在尝试使用 Google audio capture sample code 中的一些代码。他们简化了代码并在类中进行了布局。我想要一个实际的 xml 布局。我知道如何执行该部分,但我想知道如何将下面的代码更改为 onClick 方法并拥有它提供的所有功能。

class PlayButton extends Button {      
boolean mStartPlaying = true;
OnClickListener clicker = new OnClickListener() {
public void onClick(View v) {
onPlay(mStartPlaying);
if (mStartPlaying) {
setText("Stop playing");
} else {
setText("Start playing");
}
mStartPlaying = !mStartPlaying;
}
};

public PlayButton(Context ctx) {
super(ctx);
setText("Start playing");
setOnClickListener(clicker);
}
}

感谢任何帮助。

最佳答案

在布局文件中,您将拥有类似...的内容

<LinearLayout>
<Button android:id="play_button"/>
</LinearLayout>

在 Activity 的 onCreate() 中,您可以执行类似的操作..

OnClickListener clicker = new OnClickListener() {  
public void onClick(View v) {
onPlay(mStartPlaying);
if (mStartPlaying) {
setText("Stop playing");
} else {
setText("Start playing");
}
mStartPlaying = !mStartPlaying;
}
};
Button b = findViewById(R.id.play_button);
b.setOnClickListener(clicker);

或者,您还可以在 xml 布局中定义将在 Activity 中调用的方法...

<LinearLayout>
<Button android:id="play_button" onclick="play"/>
</LinearLayout>

然后在Activity中,您只需创建一个名为play(View view)

的方法
public void play(View view) {
onPlay(mStartPlaying);
if (mStartPlaying) {
setText("Stop playing");
} else {
setText("Start playing");
}
mStartPlaying = !mStartPlaying;
}

关于java - 将 Activity 中定义的布局更改为 xml 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10901937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com