package se.nekotronic.solsken; import android.app.Activity; import android.content.Intent; import android.text.util.Linkify; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.os.Bundle; import android.widget.ImageButton; import android.widget.TextView; public class Solskensaktiviteten extends Activity { // Menyalternativ static final private int VIEW_ABOUT = Menu.FIRST; static final private int SOMETHING_ELSE = Menu.FIRST + 1; static final private int SOMETHING_ELSE_2 = Menu.FIRST + 2; class MinLyssnare implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub TextView textvyn = (TextView) findViewById(R.id.weather_text); ++klickantal; textvyn.setText("Oj oj! Du klickade www.aftonbladet.se hej hej! Tjoho 2! (" + klickantal + ")"); textvyn.setText(textvyn.getText() + "\n"); textvyn.setText(textvyn.getText() + "VIEW_ABOUT = " + VIEW_ABOUT + "\n"); textvyn.setText(textvyn.getText() + "SOMETHING_ELSE= " + SOMETHING_ELSE + "\n"); if (v == globalextraknappen) { textvyn.setText(textvyn.getText() + "\nExtraknappen!"); textvyn.setText(textvyn.getText() + "\nbasen.oru.se"); } textvyn.setText(textvyn.getText() + "\nSVARET: " + svaret + "\n"); Linkify.addLinks(textvyn, Linkify.WEB_URLS); // throw new IndexOutOfBoundsException(); } } private ImageButton globalextraknappen; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageButton knappen = (ImageButton) findViewById(R.id.update_button); final android.view.View.OnClickListener lyssnaren = new MinLyssnare(); knappen.setOnClickListener(lyssnaren); final ImageButton extraknappen = (ImageButton) findViewById(R.id.update_button_2); // final android.view.View.OnClickListener lyssnaren = new MinLyssnare(); globalextraknappen = extraknappen; extraknappen.setOnClickListener(lyssnaren); } @Override public boolean onCreateOptionsMenu(Menu menyn) { MenuItem om_item = menyn.add(Menu.NONE, VIEW_ABOUT, Menu.NONE, R.string.menyvalet_om); MenuItem menyval2 = menyn.add(Menu.NONE, SOMETHING_ELSE, Menu.NONE, R.string.menyval_2); MenuItem menyval3 = menyn.add(Menu.NONE, SOMETHING_ELSE_2, Menu.NONE, R.string.menyval_3); return true; } private Intent the_about_intent; @Override public boolean onOptionsItemSelected(MenuItem menu_item) { TextView textvyn = (TextView)findViewById(R.id.weather_text); klickantal += 1000; textvyn.setText(textvyn.getText() + "\nonOptionsItemSelected"); int menyvalet = menu_item.getItemId(); switch (menyvalet) { case VIEW_ABOUT: the_about_intent = new Intent(Solskensaktiviteten.this, AboutActivity.class); startActivityForResult(the_about_intent, 0); break; case SOMETHING_ELSE: break; case SOMETHING_ELSE_2: break; default: break; } return true; } private String svaret = "(inget svar än)"; @Override protected void onActivityResult(int request_code, int result_code, Intent result) { if (result_code == RESULT_OK) { String about_resultatet = "OK" + result.getStringExtra("resultat-värdet"); svaret = about_resultatet; TextView textvyn = (TextView) findViewById(R.id.weather_text); textvyn.setText(textvyn.getText() + "\nResultat från about: " + about_resultatet); } else { if (result == null) { svaret = "(result==null)"; } else { try { String about_resultatet = "NOK" + result.getStringExtra("resultat-värdet"); svaret = about_resultatet; } catch (Exception e) { svaret = "Exception" + e.toString(); } } } } private int klickantal = 0; }