畢設記錄(二)
阿新 • • 發佈:2021-01-12
目錄
第一講課程記錄
一些老師的話在檔案中已經記錄,下面主要整理步驟
新建Button
在activity_main.xml中新建一個元件,同時解決了大寫問題(Mainfests中theme textALLCap)
<Button android:id="@+id/button1" android:text="Button" android:layout_width="match_parent" android:layout_height="wrap_content" tools:ignore="MissingConstraints" />
元件一定有id,id在別的位置用來代替這個元件,發現沒有最後一行會報錯?(視訊中沒有提到)
新建Toast(土司?)
(在button上)
點選button觸發事件用的是setOnClickListener()
public void initView(){ button1 = findViewById(R.id.button1); //為按鈕新增監聽器 button1.setOnClickListener(new View.OnClickListener() {//匿名的OnClickListener介面 @Override public void onClick(View v) {//介面都是抽象類,實現介面要重寫介面中的抽象方法 //onClick方法會在button1這個按鈕按下時自動被呼叫 Toast.makeText(MainActivity.this, "Hello MainActivity", Toast.LENGTH_LONG).show(); //上下文,顯示文字,顯示時長(long和short),一般用來顯示提示性文字 } }); }
具體在這一段可以看到。
(某些java基本知識要去補一下)
新建mune
在res資料夾下新建一個資料夾menu(名字必須是這個,一點都不能改)
在menu資料夾下新建一個Menu Resource File
每當新增一個新的元件(活動)都要在資源+活動中一起新增
因此,我們在menu.xml中新增
<item android:id="@+id/add_item" android:title="Add"/>
<item android:id="@+id/remove_item" android:title="Remove"/>
在MainActivity中新增
@Override public boolean onCreateOptionsMenu(Menu menu) {//一個重寫的方法,主要用來建立重寫的選單 getMenuInflater().inflate(R.menu.menu,menu);//menuRes,menu,前面的是來源於的資源(我們建立的),後面是括號裡傳進來的引數 //return super.onCreateOptionsMenu(menu); return true;//保證選項選單的順利建立 }
可以通過直接Reply changes改變而不用直接執行(好像報錯?,亟待解決)
報錯提示:新增新方法需要重新啟動應用。
給OptionsMenu新增點選活動(顯示一個Toast)
在MainActivity中新增
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {//當選項item被選中
switch (item.getItemId()){//由於有多個item因此分支
case R.id.add_item:
Toast.makeText(this, "Add_item clicked", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "Remove_item clicked", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}