android - Characters appear in the order as i click -


for example. there picture on top of screen below there empty boxes , below boxes there buttons. every button has character text("a","c","t"). click on button , button's text appear in box. can click them in order want answer "cat" when put characters in correct order got toast.

i tried textviews , buttons. can make button disappear when click on , textview appear in same time. every textview has fix place on screen, need put every character in every box invisible , when click on "c" character appear in first box , other "c" characters stay invisible. if click on "a" first, appears in second box because there variation all. i'm not @ explaining if has idea how easier please response!

here code:

    public class mainactivity extends actionbaractivity implements onclicklistener{  button b1; button b2; button b3;  textview tg1; textview tg2; textview tg3;  textview to1; textview to2; textview to3;  textview tl1; textview tl2; textview tl3;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);      b1 = (button)findviewbyid(r.id.bg);     b1.setonclicklistener(this);     b2 = (button)findviewbyid(r.id.bo);     b2.setonclicklistener(this);     b3 = (button)findviewbyid(r.id.bl);     b3.setonclicklistener(this);      tg1 = (textview)findviewbyid(r.id.tg1);     tg2 = (textview)findviewbyid(r.id.tg2);     tg3 = (textview)findviewbyid(r.id.tg3);      to1 = (textview)findviewbyid(r.id.to1);     to2 = (textview)findviewbyid(r.id.to2);     to3 = (textview)findviewbyid(r.id.to3);      tl1 = (textview)findviewbyid(r.id.tl1);     tl2 = (textview)findviewbyid(r.id.tl2);     tl3 = (textview)findviewbyid(r.id.tl3);  }  @override public void onclick(view v) {      switch(v.getid()) {      case r.id.bg:          b1.setvisibility(view.invisible);          tg1.setvisibility(view.visible);          tg2.setvisibility(view.invisible);          tg3.setvisibility(view.invisible);         break;      case r.id.bo:          b2.setvisibility(view.invisible);           to2.setvisibility(view.visible);          to1.setvisibility(view.invisible);          to3.setvisibility(view.invisible);          break;      case r.id.bl:          b3.setvisibility(view.invisible);          tl3.setvisibility(view.visible);          tl2.setvisibility(view.invisible);          tl1.setvisibility(view.invisible);     } } 

}

    <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="hu.szada.gombokelso.mainactivity" android:orientation="horizontal">  <textview      android:id="@+id/tl1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_weight="1"     android:visibility="invisible"     android:text="l"/>  <button     android:id="@+id/bo"     android:layout_width="40dp"     android:layout_height="40dp"     android:layout_alignparentright="true"     android:layout_centervertical="true"     android:layout_marginright="86dp"     android:onclick="onclick"     android:text="o" />  <button     android:id="@+id/bl"     android:layout_width="40dp"     android:layout_height="40dp"     android:layout_alignbaseline="@+id/bg"     android:layout_alignbottom="@+id/bg"     android:layout_alignparentleft="true"     android:layout_marginleft="36dp"     android:onclick="onclick"     android:text="l" />  <button     android:id="@+id/bg"     android:layout_width="40dp"     android:layout_height="40dp"     android:layout_centervertical="true"     android:layout_marginright="14dp"     android:layout_toleftof="@+id/bo"     android:onclick="onclick"     android:text="g" />  <textview     android:id="@+id/tg1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/tl"     android:layout_alignbottom="@+id/tl"     android:layout_alignleft="@+id/tl"     android:layout_weight="1"     android:visibility="invisible"     android:text="g" />  <textview     android:id="@+id/to1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/tl"     android:layout_alignbottom="@+id/tl"     android:layout_alignleft="@+id/tl"     android:layout_weight="1"     android:visibility="invisible"     android:text="o" /> 

/// second

 <textview      android:id="@+id/to2"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignbaseline="@+id/tl1"      android:layout_alignbottom="@+id/tl1"      android:layout_marginleft="19dp"      android:layout_torightof="@+id/tl1"      android:layout_weight="1"      android:visibility="invisible"      android:text="o" />   <textview      android:id="@+id/tg2"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignbaseline="@+id/to2"      android:layout_alignbottom="@+id/to2"      android:layout_alignleft="@+id/to2"      android:layout_weight="1"      android:visibility="invisible"      android:text="g" />   <textview      android:id="@+id/tl2"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignbaseline="@+id/to2"      android:layout_alignbottom="@+id/to2"      android:layout_alignright="@+id/to2"      android:layout_weight="1"      android:visibility="invisible"      android:text="l" />   /// third      <textview        android:id="@+id/tg3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignbaseline="@+id/to2"        android:layout_alignbottom="@+id/to2"        android:layout_alignright="@+id/bl"        android:layout_weight="1"        android:visibility="invisible"        android:text="g" />     <textview        android:id="@+id/tl3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignbaseline="@+id/tg3"        android:layout_alignbottom="@+id/tg3"        android:layout_alignleft="@+id/tg3"        android:layout_weight="1"        android:visibility="invisible"        android:text="l" />     <textview        android:id="@+id/to3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignbaseline="@+id/tg3"        android:layout_alignbottom="@+id/tg3"        android:layout_torightof="@+id/tl3"        android:layout_weight="1"        android:visibility="invisible"        android:text="o" /> 

you might want try different approach.

if understand correctly, want "type" word out using given lettered buttons. 1 of hangman style games.

why not append text views on fly.

something like

@override public void onclick(view v) {      //grab surrounding layout textviews     gridview answergrid = (gridview)getviewbyid(r.id.answergrid);      //get text on button     button b = (button)v;     string btntext = b.gettext().tostring();      //make text view text     textview txt = new textview();     text.settext(btntext);      //append text view container     answergrid.addview(txt);      //invisible button     b.setvisibility(view.invisible); } 

haven't tested see if perfect, start.

=====

i've looked @ xml

why not use gridviews?

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"                 xmlns:tools="http://schemas.android.com/tools"                 ....>     <gridview android:id="@+id/answergrid"               ....>          <!-- put nothing here. answers -->     </gridview>      <gridview android:id="@+id/lettersgrid"               android:layout_below="answergrid"               ....>         <!-- buttons in here -->     </gridview>  </relativelayout> 

this way can customise number of rows/columns based on length of word you're playing with. , gridview automatically give neat layout , spacing.

have @ gridview doc , customised way want it.

see edits above java code.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -