[英]How can I add a Button to my wear OS app?
我正在向我的第一個 Wear OS 應用程序添加一個 Button。 當我遵循現有 Android 應用程序的模型時,由於“WearableActivity”與“Activity”似乎存在差異。 我無法定義 OnClickListener。
在我的創建中是這樣的:
bottomButton = findViewById(R.id.bottomButton);
setListener();
后來在主要活動來源是這個
void setListener()
{
bottomButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) // toggle between report and graph display
{ if (showGraph)
{showReport=true; showGraph=false;bottomButton.setText("show Report");}
else
{showReport=false;showGraph=true;bottomButton.setText("show Graph");}
} // end, onClick
}); // end, setOnClickListener
} // end, setListener()
在這兩種情況下,按鈕都是在 XML 中定義的,並按如下方式找到和使用
OkButton = (Button) findViewById(R.id.OkButton);
OkButton.setOnClickListener(this);
無論如何它都可以編譯。 我可以訪問按鈕中的項目,例如文本。 但是當我更改文本時,它不會出現在屏幕上。 當我按下模擬器中的按鈕時,它不會注冊任何操作。
問題不在於您的代碼,而在於 Android Wear 模擬器。 您的磨損模擬器處於環境(低功耗)模式。 單擊仿真器窗口頂部的 可在交互式(全功率)和環境模式(低功率)之間切換。
如何在wear os 應用程序中定義和使用按鈕。
與在移動端完成的方式相同。 下面是一個例子
public class MainActivity extends WearableActivity implements View.OnClickListener {
Button clickMeButton;
TextView textView;
int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setAmbientEnabled();
clickMeButton = findViewById(R.id.click_me_button);
textView = findViewById(R.id.test_textview);
clickMeButton.setOnClickListener(this);
}
@Override
public void onClick(View view) {
count++;
textView.setText("I am clicked: "+count);
}
@Override
public void onEnterAmbient(Bundle ambientDetails) {
// Handle entering ambient mode
super.onEnterAmbient(ambientDetails);
Log.e("Hello", "I'm ambient");
}
@Override
public void onExitAmbient() {
// Handle exiting ambient mode
super.onExitAmbient();
Log.e("Hello", "exit ambient");
}
@Override
public void onUpdateAmbient() {
// Update the content
super.onUpdateAmbient();
Log.e("Hello", "update ambient: " + isAmbient());
}
}
以下是上述活動的結果(注意:單擊模擬器窗口頂部可在交互模式和環境模式之間切換):
編輯
為避免在活動實施View.OnClickListener打電話時您可以通過View.OnClickListener的實例setOnClickListener
為OkButton
像你已經做了bottomButton
。
OkButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
//do something when OkButton is clicked
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.