編輯:關於Android編程
說明第一下:按照前面的方式我們創建了項目,如果使用的是最新的ADT,Minimum Android SDK選的是android2.*或1.*,此時會默認創建一個兼容的項目,——appcompat_v7,這個項目還是不能刪除的,刪除會報錯。。
說明第二下:項目創建好了之後,發現layout文件夾(布局)中會有默認兩個文件:adtivity和fragment文件:

1、Fragment概述:
Fragment意思為碎片,片段,說白了就是模塊,說道模塊,就不用我多說了。。
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+zNjV96O6PC9wPgo8cD48L3A+CjxibG9ja3F1b3RlPgo8cD5GcmFnbWVudNfcysehsMe2yOuhsWFjdGl2aXR51tDKudPDtcSjrNf3zqphY3Rpdml0edbQtcS958Pm1+mzybK/t9ajuzwvcD4KPHA+0ru49mFjdGl2aXR5v8nS1LD8uqy24Lj2RnJhZ21lbnSjrNK7uPZGcmFnbWVudNKyv8nS1LG7tuC49mFjdGl2aXR5uLTTw6O7PC9wPgo8cD5GcmFnbWVudL/J0tTP7NOm19S8urXEysK8/qOs0rLTtdPQ19S8urXEyfrD/NbcxtqhozwvcD4KPC9ibG9ja3F1b3RlPgrK18/IztLDx8/Iv7TSu8/CztLDx9KqtO+1vcqyw7TSqsfzo7oKPHA+PC9wPgo8cD48aW1nIHNyYz0="/uploadfile/Collfiles/20140529/2014052909233527.jpg" alt="\"> 
2、fragment_main.xml文件:
內容如下:
在fragment中定義了兩個按鈕和一個文本顯示,以及在activity中也定義了一個文本顯示,點擊fragment不同按鈕控制文本顯示。
activity_main.xml內容如下:
3、創建MainFragment.java類:
package com.javen.xresource.activity.fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import com.javen.xresource.activity.R;
public class MainFragment extends Fragment {
private TextView fragmentTextView;
private Button button;
public MainFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false); //使用fragment_main.xml初始化Fragment
button = (Button) rootView.findViewById(R.id.btn); //獲取Fragment中的Button
fragmentTextView = (TextView) rootView.findViewById(R.id.ftxv); //獲取Fragment中的TextView
button.setOnClickListener(new OnClickListener() { //設置按鈕的監聽事件
@Override
public void onClick(View v) {
fragmentTextView.setText("我被fragment點擊了...");
}
});
return rootView;
}
}
代碼如下:
package com.javen.xresource.activity;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button button;
private TextView activityTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new MainFragment()).commit(); //java代碼方式在activity中嵌入Fragment,與前面xml方式一樣
}*/
activityTextView = (TextView) findViewById(R.id.atxv); //獲取activity中的TextView
Fragment fragment = getFragmentManager().findFragmentById(R.id.mft); //獲取activity中的fragment
button = (Button) fragment.getView().findViewById(R.id.btn2); //獲取fragment中的Button2
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
activityTextView.setText("我被activity點擊了...");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
6、問題來了:Button2 改變activity中TextView的操作能不能放在Fragment?--> 延伸出:Fragment能不能與Activity通信?
衍生問題後面再說,通信肯定是可以的。
至於對TextView的操作都放在Fragment中。。。本人嘗試過,使用:
getActivity().findViewById(R.id.atxv);
至於原因?歡迎大家發表評論來討論這個問題。。。
通訊錄的原型實現(二)- 類似QQ好友列表實現,分組名懸浮在最頂部
上一節通訊錄原型的實現(-)中,將到了最基本最簡單的通訊錄的實現,這節就講講類似QQ好友列表的分組名稱懸浮在最頂部的實現。我的基本實現思路如下:1.使用Expandabl
Android基礎入門教程——10.8 LayoutInflater(布局服務)
Android基礎入門教程——10.8 LayoutInflater(布局服務)標簽(空格分隔): Android基礎入門教程本節引言: 本節繼
apktool編譯和反編譯apk與ecplise多渠道打包
想自己做個apk,還在為素材而苦惱嗎?看到優秀的apk設計,還在為怎麼看到別人的實現代碼而苦惱嗎?看著AndroidStudio 多渠道打包那麼爽,而自己坑爹的還在用Ec
使用數據源碼解析Android中的Adapter、BaseAdapter、ArrayAdapter、SimpleAdapter和SimpleCursorAdapter
Adapter相當於一個數據源,可以給AdapterView提供數據,並根據數據創建對應的UI,可以通過調用AdapterView的setAdapter方法使得Adapt