PageElementsActivity.java (2115B)
1 /** 2 * 3 */ 4 package de.openrat.android.client; 5 6 import java.io.IOException; 7 import java.util.ArrayList; 8 import java.util.Arrays; 9 import java.util.Map; 10 11 import android.app.ListActivity; 12 import android.content.Intent; 13 import android.os.Bundle; 14 import android.view.View; 15 import android.widget.AdapterView; 16 import android.widget.ListView; 17 import android.widget.AdapterView.OnItemClickListener; 18 import de.openrat.android.client.adapter.SimpleNameAdapter; 19 import de.openrat.android.client.util.OpenRatClientAsyncTask; 20 import de.openrat.client.OpenRatClient; 21 22 /** 23 * @author dankert 24 * 25 */ 26 public class PageElementsActivity extends ListActivity 27 { 28 public static final String ID = "id"; 29 public static final String CLIENT = "client"; 30 private String objectid; 31 private OpenRatClient client; 32 33 Map<String, String> data; 34 35 @Override 36 protected void onCreate(Bundle savedInstanceState) 37 { 38 super.onCreate(savedInstanceState); 39 40 setContentView(R.layout.listing); 41 42 client = (OpenRatClient) getIntent().getSerializableExtra(CLIENT); 43 44 new OpenRatClientAsyncTask(this, R.string.waitingforcontent) 45 { 46 47 @Override 48 protected void callServer() throws IOException 49 { 50 objectid = getIntent().getStringExtra(ID); 51 data = client.getPageElements(objectid); 52 } 53 54 protected void doOnSuccess() 55 { 56 SimpleNameAdapter adapter = new SimpleNameAdapter( 57 PageElementsActivity.this, new ArrayList<String>(data 58 .values()), android.R.drawable.ic_menu_edit); 59 setListAdapter(adapter); 60 } 61 62 }.execute(); 63 64 ListView list = getListView(); 65 list.setOnItemClickListener(new OnItemClickListener() 66 { 67 68 @Override 69 public void onItemClick(AdapterView<?> parent, View view, 70 int position, long id) 71 { 72 String elementid = Arrays.asList( 73 data.keySet().toArray(new String[] {})).get(position); 74 75 Intent intent = new Intent(PageElementsActivity.this, 76 EditorActivity.class); 77 intent.putExtra(EditorActivity.ELEMENTID, elementid); 78 intent.putExtra(EditorActivity.OBJECTID, objectid); 79 intent.putExtra(EditorActivity.CLIENT, client); 80 startActivity(intent); 81 } 82 }); 83 84 } 85 86 }