package com.taobao.tmts.framework.app;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Gallery;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
/**
*
* @author bingyang.djj
*
*/
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private Button btn_textview;
private Button btn_scrollview;
private Button btn_webview;
private Button btn_listview;
private View includeView;
private CheckBox checkBox;
private TextView textView;
private Gallery gallery;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
init();
setListeners();
}
private void init() {
btn_textview = (Button) findViewById(R.id.btn_textview_activity);
btn_scrollview = (Button) findViewById(R.id.btn_scrollview_activity);
btn_webview = (Button) findViewById(R.id.btn_webview_activity);
btn_listview = (Button) findViewById(R.id.btn_listview_activity);
includeView = findViewById(R.id.include_checkbox);
checkBox = (CheckBox) includeView.findViewById(R.id.my_checkbox);
textView = (TextView) includeView.findViewById(R.id.textview);
gallery = (Gallery) findViewById(R.id.my_gallery);
gallery.setAdapter(new ImageAdapter(this));
}
private void setListeners() {
setOnListener(btn_textview, TextViewActivity.class);
setOnListener(btn_scrollview, ScrollActivity.class);
setOnListener(btn_webview, WebViewActivity.class);
setOnListener(btn_listview, ListViewActivity.class);
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
textView.setText("CheckBox is checked!");
} else {
textView.setText("default text");
}
}
});
gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
}
private void startActivity(Class<?> cls) {
Intent intent = new Intent();
intent.setClass(MainActivity.this, cls);
startActivity(intent);
}
private void setOnListener(View view, final Class<?> cls) {
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(cls);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE, 1, Menu.NONE, "Dialog");
menu.add(Menu.NONE, 2, Menu.NONE, "Tosat");
menu.add(Menu.NONE, 3, Menu.NONE, "Dialog With List");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
createDialog();
break;
case 2:
Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_SHORT)
.show();
break;
case 3:
createDialogWithList();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
private void createDialog() {
Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("AlartDialog");
dialog.setPositiveButton("OK", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "OK", Toast.LENGTH_SHORT);
}
});
dialog.setNegativeButton("Cancel", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "Cancel", Toast.LENGTH_SHORT);
}
});
dialog.create();
dialog.show();
}
private View getViewFromLayout(Context context, int layout) {
LayoutInflater mInflater = LayoutInflater.from(context);
View view = mInflater.inflate(layout, null);
return view;
}
private ListView initListView(ListView listView) {
ArrayList<HashMap<String, Object>> listitem = new ArrayList<HashMap<String, Object>>();
for (int i = 0; i < 10; i++) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("itemimage", R.drawable.icon);
map.put("itemTitle", "Item" + i);
map.put("itemText", "Thank you!");
listitem.add(map);
}
SimpleAdapter simpleAdapter = new SimpleAdapter(this, listitem,
R.layout.listview_item_layout, new String[] { "itemimage",
"itemTitle", "itemText" }, new int[] { R.id.ItemImage,
R.id.ItemTitle, R.id.ItemText });
listView.setAdapter(simpleAdapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this, "Item " + position + " clicked!", Toast.LENGTH_SHORT).show();
}
});
return listView;
}
private void createDialogWithList() {
Builder dialog = new AlertDialog.Builder(this);
View view = getViewFromLayout(this, R.layout.listview_layout);
initListView((ListView) view.findViewById(R.id.my_listview));
dialog.setView(view);
dialog.setNegativeButton("OK", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.create();
dialog.show();
}
}