設置點擊監聽的5種方式html
這是最經常使用的一種方法,直接setXXXListener後,重寫裏面的方法便可。但一般是臨時使用一次,複用性不高。java
public class MainActivity extends Activity { private Button btnshow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnshow = (Button) findViewById(R.id.btnshow); btnshow.setOnClickListener(new OnClickListener() { //重寫點擊事件的處理方法onClick() @Override public void onClick(View v) { //顯示Toast信息 Toast.makeText(getApplicationContext(), "你點擊了按鈕", Toast.LENGTH_SHORT).show(); } }); } }
能夠在該類中進行復用,可直接訪問外部類的全部界面組件。android
public class MainActivity extends Activity { private Button btnshow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnshow = (Button) findViewById(R.id.btnshow); //直接new一個內部類對象做爲參數 btnshow.setOnClickListener(new BtnClickListener()); } //定義一個內部類,實現View.OnClickListener接口,並重寫onClick()方法 class BtnClickListener implements View.OnClickListener { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "按鈕被點擊了", Toast.LENGTH_SHORT).show(); } }
另外建立一個處理事件的Java文件,這種形式用的比較少,由於外部類不能直接訪問用戶界面類中的組件,要經過構造方法將組件傳入使用。編程
MyClick.java:框架
public class MyClick implements OnClickListener { private TextView textshow; //把文本框做爲參數傳入 public MyClick(TextView txt) { textshow = txt; } @Override public void onClick(View v) { //點擊後設置文本框顯示的文字 textshow.setText("點擊了按鈕!"); } }
MainActivity.java:ide
public class MainActivity extends Activity { private Button btnshow; private TextView txtshow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnshow = (Button) findViewById(R.id.btnshow); txtshow = (TextView) findViewById(R.id.textshow); //直接new一個外部類,並把TextView做爲參數傳入 btnshow.setOnClickListener(new MyClick(txtshow)); } }
讓Activity類實現XxxListener事件監聽接口,在Activity中定義重寫對應的事件處理器方法,這種方法用的比較少。佈局
//讓Activity方法實現OnClickListener接口 public class MainActivity extends Activity implements OnClickListener{ private Button btnshow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnshow = (Button) findViewById(R.id.btnshow); //直接寫個this btnshow.setOnClickListener(this); } //重寫接口中的抽象方法 @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "點擊了按鈕", Toast.LENGTH_SHORT).show(); } }
在xml佈局文件中對應得Activity中定義一個事件處理方法。學習
MainAcivity.java:this
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //自定義一個方法,傳入一個view組件做爲參數 public void myclick(View source) { Toast.makeText(getApplicationContext(), "按鈕被點擊了", Toast.LENGTH_SHORT).show(); } }
main.xml佈局文件:.net
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按鈕" android:onClick="myclick"/> </LinearLayout>
菜單是Android應用中很是重要且常見的組成部分,主要能夠分爲三類:選項菜單、上下文菜單/上下文操做模式以及彈出菜單。
它們的主要區別以下:
彈出菜單以垂直列表形式顯示一系列操做選項,通常由某一控件觸發,彈出菜單將顯示在對應控件的上方或下方。它適用於提供與特定內容相關的大量操做。
可使用應用資源框架,爲不一樣的平臺版本、屏幕尺寸建立最合適的菜單(如對drawable、string等系統資源的使用)
顯示文字不顯示圖標(withText)
//獲取MenuInflater MenuInflater inflater=getMenuInflater(); //加載Menu資源 inflater.inflate(R.menu.option_menu_normal,menu);
要想建立片斷,必須建立 Fragment 的子類(或已有其子類)。Fragment 類的代碼與 Activity 很是類似。它包含與 Activity 相似的回調方法,如 onCreate()、onStart()、onPause() 和 onStop()。
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_next, container, false); }
出發一個新的事件做爲對片斷事件的響應,並讓活動來處理它。
向 Activity 添加片斷
FragmentTransaction類提供了方法來添加、刪除和替換片斷。當完成操做,調用FragmentTransaction.commit()方法來提交修改。有add、remove、replace方法。
View listView = getActivity().findViewById(R.id.list); ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);
viewPager在使用的過程當中,最重要的是setOnPageChangeListener。通常有兩個操做,一個用於手指滑動翻頁,一個是直接setCurrentItem。
問題1:
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 150/200 | 2/2 | 20/20 | |
第二週 | 200/400 | 1/3 | 20/40 | |
第三週 | 100/500 | 1/4 | 10/50 | |
第四周 | 200/700 | 1/5 | 15/65 | |
第五週 | 1486/2186 | 1/6 | 15/80 | |
第六週 | 1400/3586 | 1/7 | 18/98 | |
第七週 | 1400/5000 | 1/7 | 18/116 |
計劃學習時間:16小時
實際學習時間:18小時