package org.deviceconnect.android.deviceplugin.alljoyn.activity; import android.app.ActionBar; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ListView; import org.deviceconnect.android.deviceplugin.alljoyn.R; import java.util.Arrays; import java.util.List; /** * Setting activity. * * @author NTT DOCOMO, INC. */ public class AllJoynSettingActivity extends Activity { private static final List<SettingData> SETTING_LIST = Arrays.asList( new SettingData(R.layout.aj_settings_lifx_list_item, AllJoynSettingLIFXActivity.class) ); private LayoutInflater mInflator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.aj_settings_master); ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_HOME); actionBar.setTitle(getString(R.string.alljoyn_settings_master_textViewTopBar_text)); } mInflator = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); ListView listView = (ListView) findViewById(R.id.listView); listView.setAdapter(new SettingListAdapter()); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { SettingData settingData = SETTING_LIST.get(position); Intent intent = new Intent(AllJoynSettingActivity.this, settingData.detailActivityClass); startActivity(intent); } }); } @Override public boolean onOptionsItemSelected(final MenuItem item) { if (item.getItemId() == android.R.id.home) { finish(); return true; } return super.onOptionsItemSelected(item); } private class SettingListAdapter extends BaseAdapter { @Override public int getCount() { return SETTING_LIST.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView != null) { Integer tagPosition = (Integer) convertView.getTag(); if (tagPosition == position) { return convertView; } } SettingData settingData = SETTING_LIST.get(position); View view = mInflator.inflate(settingData.listItemLayoutId, null); view.setTag(position); return view; } } private static class SettingData { public final int listItemLayoutId; public final Class detailActivityClass; public SettingData(int listItemLayoutId, Class detailActivityClass) { this.listItemLayoutId = listItemLayoutId; this.detailActivityClass = detailActivityClass; } } }