| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==[[Android スケルトン ListActivity]]==
[[Android]] | [[Android スケルトン]] |
*ListActivity ListActi[[vi]]ty を利用するスケルトン
*メニューとコンテキストメニューを利用
===イメージ===
====メニュー====
{{ref_image list_acti[[File:0116_list_activity01vi]]ty01.jpg]]}}
====コンテキストメニュー====
{{ref_image list_acti[[File:0117_list_activity02vi]]ty02.jpg]]}}
===[[Tips]]===
====背景色の設定をしても、スクロールすると黒くなってしまう。====
*[http://developer.android.com/reference/android/widget/AbsListView.html#attr_android:scrollingCache ListView#scrollingChache]をfalseに設定する。
android:scrollingCache="false"
===ActivityActi[[vi]]ty===
package info.typea.handrawroid;
import java.util.List;
import android.app.ListActivityListActi[[vi]]ty;
import android.content.Context;
import android.os.Bundle;
import android.view.ContextMenuContext[[Menu]]; import android.view[[vi]]ew.LayoutInflater; import android.view.[[Menu]]; import android.view.MenuItem[[Menu]]Item; import android.view[[vi]]ew.View; import android.view[[vi]]ew.ViewGroup; import android.view.ContextMenuContext[[Menu]].ContextMenuInfoContext[[Menu]]Info;
import android.widget.ArrayAdapter;
import android.widget.TextView;
* @author piroto
*/
public class NoteListActivity NoteListActi[[vi]]ty extends ListActivity ListActi[[vi]]ty {
private static final int MENU_NEW = [[Menu]].FIRST; private static final int MENU_CLOSE = [[Menu]].FIRST + 1; private static final int MENU_PREFERENCES = [[Menu]].FIRST + 2;
private static final int MENU_EDIT = [[Menu]].FIRST + 3; private static final int MENU_SHARE = [[Menu]].FIRST + 4; private static final int MENU_DELETE = [[Menu]].FIRST + 5;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView([[R]].layout.main);
// コンテキストメニューを登録
registerForContextMenuregisterForContext[[Menu]](getListView());
List<String> items = new ArrayList<String>();
// Dummy Data Create To
NoteAdapter adapter = new NoteListActivityNoteListActi[[vi]]ty.NoteAdapter(this, R.layout.row_note, items);
setListAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenuonCreateOptions[[Menu]]([[Menu ]] menu) { super.onCreateOptionsMenuonCreateOptions[[Menu]](menu);
menu.add(0,MENU_NEW,0,[[R]].string.mnu_edit_new) .setIcon(android.[[R]].drawable.ic_menu_add); menu.add(0,MENU_PREFERENCESMENU_P[[R]]EFE[[R]]ENCES,0,[[R]].string.mnu_preferences) .setIcon(android.[[R]].drawable.ic_menu_preferences); menu.add(0,MENU_CLOSE,0,[[R]].string.mnu_close) .setIcon(android.[[R]].drawable.ic_menu_close_clear_cancel);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem [[Menu]]Item item) {
switch (item.getItemId()) {
case MENU_NEW:
break;
case MENU_PREFERENCESMENU_P[[R]]EFE[[R]]ENCES:
break;
case MENU_CLOSE:
@Override
public void onCreateContextMenuonCreateContext[[Menu]](ContextMenu Context[[Menu]] menu, View v, ContextMenuInfo Context[[Menu]]Info menuInfo) { super.onCreateContextMenuonCreateContext[[Menu]](menu, v, menuInfo); menu.add(0, MENU_EDIT, 0, [[R]].string.mnu_edit); menu.add(0, MENU_SHAREMENU_SHA[[R]]E, 0, [[R]].string.mnu_share); menu.add(0, MENU_DELETE, 0, [[R]].string.mnu_delete);
}
@Override
public boolean onContextItemSelected(MenuItem [[Menu]]Item item) {
switch(item.getItemId()) {
case MENU_EDIT:
break;
case MENU_SHAREMENU_SHA[[R]]E:
break;
case MENU_DELETE:
private List<String> items;
public NoteAdapter(Context context, int textViewResourceIdtextView[[R]]esourceId, List<String> items) { super(context, textViewResourceIdtextView[[R]]esourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view [[vi]]ew = convertView; if (view [[vi]]ew == null) { LayoutInflater lif = (LayoutInflater)getContext().getSystemServicegetSystemSer[[vi]]ce(Context.LAYOUT_INFLATER_SERVICE); view [[vi]]ew = lif.inflate(R.layout.row_note, null);
}
String item = this.items.get(position);
if (item != null) {
TextView tv = (TextView)view[[vi]]ew.findViewById(R.id.txt_note_title);
tv.setText(item);
}
return view[[vi]]ew;
}
}
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, NoteListActivityNoteListActi[[vi]]ty!</string>
<string name="app_name">Handrawroid</string>
<string name="mnu_edit_new">新規作成</string>

案内メニュー