Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid: onTouch not called
    primarykey
    data
    text
    <p>So, i'm trying to start activity by sweeping across the screen, it works fine for all the other screens, just this screen that doesn't fire the onTouch at all? Would you mind helping me? I've tried debugging it and still have no idea at all. Below are the codes, sorry for not putting snippets only as I thought I might did something wrong elsewhere </p> <p>Btw, I'm also looking for advice on implementing sweeping to change screen. I've read about ViewFlipper and I know it will work very well, but I've around 8 screens with different backend coding needed. Anyways, I really need advice on this.</p> <p>Thanks alot!!</p> <p>Alvin</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; </code></pre> <p></p> <pre><code> &lt;TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dip" android:padding="5dip" android:textStyle="bold" android:text="@string/skills" /&gt; &lt;TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dip" android:textSize="12dip" android:layout_marginLeft="10dip" android:text="@string/proficiency" /&gt; &lt;LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"&gt; &lt;Button android:id="@+id/cSharp" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/cSharp" /&gt; &lt;Button android:id="@+id/cLang" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/cLang" /&gt; &lt;Button android:id="@+id/visualC" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/visualC" /&gt; &lt;Button android:id="@+id/java" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/java" /&gt; &lt;Button android:id="@+id/vb" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/vb" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"&gt; &lt;Button android:id="@+id/perl" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/perl" /&gt; &lt;Button android:id="@+id/win" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/win" /&gt; &lt;Button android:id="@+id/unix" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/unix" /&gt; &lt;Button android:id="@+id/linux" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/linux" /&gt; &lt;Button android:id="@+id/php" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/php" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"&gt; &lt;Button android:id="@+id/oracle" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/oracle" /&gt; &lt;Button android:id="@+id/mysql" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/mysql" /&gt; &lt;Button android:id="@+id/mssql" android:layout_height="60dip" android:layout_width="80dip" android:text="@string/mssql" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dip" android:orientation="horizontal" android:gravity="bottom|right"&gt; &lt;ImageButton android:id="@+id/skillsPrevious" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@null" android:paddingRight="3dip" android:src="@drawable/left" /&gt; &lt;ImageButton android:id="@+id/skillsNext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@null" android:src="@drawable/right" /&gt; &lt;/LinearLayout&gt; </code></pre> <p></p> <pre><code> private float oldTouchValue; private FormDbAdapter mDbHelper; private Long mRowId; private Button cSharp, cLang, visualC, java, vb, perl, win, unix; private Button linux, php, oracle, mysql, mssql; private ImageButton nextButton, previousButton; private LinearLayout skillsView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); mDbHelper = new FormDbAdapter(this); mDbHelper.open(); setContentView(R.layout.skills); cSharp = (Button)findViewById(R.id.cSharp); cLang = (Button)findViewById(R.id.cLang); visualC = (Button)findViewById(R.id.visualC); java = (Button)findViewById(R.id.java); vb = (Button)findViewById(R.id.vb); perl = (Button)findViewById(R.id.perl); win = (Button)findViewById(R.id.win); unix = (Button)findViewById(R.id.unix); linux = (Button)findViewById(R.id.linux); php = (Button)findViewById(R.id.php); oracle = (Button)findViewById(R.id.oracle); mysql = (Button)findViewById(R.id.mysql); mssql = (Button)findViewById(R.id.mssql); nextButton = (ImageButton)findViewById(R.id.skillsNext); previousButton = (ImageButton)findViewById(R.id.skillsPrevious); skillsView = (LinearLayout)findViewById(R.id.skillsView); mRowId = (savedInstanceState == null)? null: (Long)savedInstanceState.getSerializable(FormDbAdapter.KEY_ID); if(mRowId == null){ Bundle extras = getIntent().getExtras(); mRowId = extras.getLong(FormDbAdapter.KEY_ID); } populateFields(); nextButton.setOnClickListener(onClick); previousButton.setOnClickListener(onClick); cSharp.setOnClickListener(onClick); cLang.setOnClickListener(onClick); visualC.setOnClickListener(onClick); java.setOnClickListener(onClick); vb.setOnClickListener(onClick); perl.setOnClickListener(onClick); win.setOnClickListener(onClick); unix.setOnClickListener(onClick); linux.setOnClickListener(onClick); php.setOnClickListener(onClick); oracle.setOnClickListener(onClick); mysql.setOnClickListener(onClick); mssql.setOnClickListener(onClick); skillsView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch(event.getAction()){ case MotionEvent.ACTION_DOWN: oldTouchValue = event.getX(); break; case MotionEvent.ACTION_UP: if(event.getX() - oldTouchValue &lt; -200){ createIntent(true); return true; }else if(event.getX() - oldTouchValue &gt; 200){ createIntent(false); return true; } } return false; } }); } protected View.OnClickListener onClick = new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.skillsNext: createIntent(true); break; case R.id.skillsPrevious: createIntent(false); break; default: addSkillDialog(v.getId()); } } }; /** direction = true =&gt; next page * direction = false =&gt; previous page*/ protected void createIntent(boolean direction){ if(direction){ Intent i = new Intent(); i.putExtra(FormDbAdapter.KEY_ID, mRowId); i.setClass(skills.this, languages.class); startActivityForResult(i, 0); }else{ setResult(RESULT_OK); finish(); } } /** Create custom dialog for user to input skills info. * @param id: id of the button clicked by user. */ protected void addSkillDialog(int id) { // TODO Auto-generated method stub final Button button = (Button)findViewById(id); AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog alertDialog; LayoutInflater inflater = (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE); final View layout = inflater.inflate(R.layout.skillsdialog, (ViewGroup)findViewById(R.id.skillsDialogId)); builder.setView(layout); final RadioGroup radioExp = (RadioGroup)layout.findViewById(R.id.radioExp); final RadioGroup radioPro = (RadioGroup)layout.findViewById(R.id.radioPro); Cursor c = mDbHelper.fetchSkills(mRowId, button.getId()); if(c.moveToFirst()){ startManagingCursor(c); if(c.getString(c.getColumnIndexOrThrow(FormDbAdapter.KEY_SKILL_YEARS)).equals("0")){ radioExp.check(R.id.zeroYear); }else if (c.getString(c.getColumnIndexOrThrow(FormDbAdapter.KEY_SKILL_YEARS)).equals("1-2")){ radioExp.check(R.id.onetotwo); }else if (c.getString(c.getColumnIndexOrThrow(FormDbAdapter.KEY_SKILL_YEARS)).equals("3-4")){ radioExp.check(R.id.threetofour); }else{ radioExp.check(R.id.five); } if(c.getString(c.getColumnIndexOrThrow(FormDbAdapter.KEY_SKILL_PRO)).equals("B")){ radioPro.check(R.id.B); }else if(c.getString(c.getColumnIndexOrThrow(FormDbAdapter.KEY_SKILL_PRO)).equals("I")){ radioPro.check(R.id.I); }else{ radioPro.check(R.id.A); } } builder.setTitle(button.getText().toString()) .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub String years = null; String pro = null; int expId = radioExp.getCheckedRadioButtonId(); int proId = radioPro.getCheckedRadioButtonId(); switch(expId){ case R.id.zeroYear: years = "0"; break; case R.id.onetotwo: years = "1-2"; break; case R.id.threetofour: years = "3-4"; break; case R.id.five: years = "&gt;5"; } switch(proId){ case R.id.B: pro = "B"; break; case R.id.I: pro = "I"; break; case R.id.A: pro = "A"; } mDbHelper.newSkill(mRowId, button.getId(), pro, years); button.setTypeface(Typeface.DEFAULT_BOLD); } }) .setNeutralButton("Undo Selection", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub mDbHelper.deleteSkill(mRowId, button.getId()); button.setTypeface(Typeface.DEFAULT); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.cancel(); } }); alertDialog = builder.create(); alertDialog.show(); } /** Populate the fields in View if existed in database. */ protected void populateFields(){ Cursor c = mDbHelper.fetchAllSkills(mRowId); while (c.moveToNext()){ startManagingCursor(c); Button skillBtn = (Button)findViewById(c.getInt(c.getColumnIndexOrThrow(FormDbAdapter.KEY_SKILL_NAME))); skillBtn.setTypeface(Typeface.DEFAULT_BOLD); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); switch (resultCode){ case MainPage.ACTIVITY_BACK: populateFields(); break; case MainPage.ACTIVITY_DONE: setResult(MainPage.ACTIVITY_DONE); finish(); } } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); populateFields(); } @Override protected void onSaveInstanceState(Bundle outState) { // TODO Auto-generated method stub super.onSaveInstanceState(outState); outState.putSerializable(FormDbAdapter.KEY_ID, mRowId); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload