У меня есть класс, который расширяет Activity и раздувает другой макет xml в основном макете.
Пример:
public class PrivateHistory extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main_layout);
viewBundleMessage();
LinearLayout item = (LinearLayout)findViewById(R.id.menu_linear_layout);
View child = getLayoutInflater().inflate(R.layout.menu_list, null);
item.addView(child);
getHistoryInfo();
}
}
Пример (макет списка меню):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/listViewMenu">
</ListView>
И есть метод getHistoryInfo, который я использую для извлечения некоторой исторической информации из БД, чтобы я мог поместить каждую запись в ListItem.
Пример:
public void getHistoryInfo(){
//removed historyItem + database information
ListView lv = (ListView) findViewById(R.id.listViewMenu);
lv.setAdapter(new ArrayAdapter<String>(this,R.layout.history_list_view, historyItem));
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
showToast(historyItem.get(position).toString());
}
});
}
Пример (history_list_view):
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/noteText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="14dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="@drawable/bg_white_grey"
android:gravity="center_vertical"
android:typeface="serif"
android:layout_marginBottom="10dp"/>
Так что все здесь работает, но только если вы хотите добавить текст в каждый ListItem. Я хотел бы добавить изображения для каждого ListItems, но как? Если бы этот класс расширил ListActivity, это было бы не так сложно, но он расширяет Activity. Так может кто-нибудь помочь мне здесь?
Для тех, кто хотел бы использовать мое приложение, перейдите по ссылке:
http://www.4shared.com/android/tWfbNqZ6/Free_Wallet.html