Note that there are some explanatory texts on larger screens.

plurals
  1. POInflated layout's buttons onClick listener not working
    primarykey
    data
    text
    <p>All my other onClick methods work except the ones in which I have to inflate the layout to get the button! What am I doing wrong! Here is some code:</p> <pre><code>package com.games.think; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.RadioButton; import android.widget.TableLayout; public class Think extends Activity{ //What question are we on? int question = 1; //What level are we on? String lvl ="1"; //Radio buttons we need to access them global RadioButton lvl1; RadioButton lvl2; RadioButton lvl3; RadioButton lvl4; RadioButton lvl5; /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //play Button play = (Button)findViewById(R.id.play); play.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { playOnClick(v); } }); //level Button level = (Button)findViewById(R.id.level); level.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { levelOnClick(v); } }); //setLevel LayoutInflater inflater = LayoutInflater.from(this); TableLayout tbl = new TableLayout(this); View playv = inflater.inflate(R.layout.level, null); Button updateLevel = (Button) playv.findViewById(R.id.updateLevel); tbl.addView(updateLevel); updateLevel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { updateLevelOnClick(v); } }); View levelv = inflater.inflate(R.layout.play, null); Button gotomenu = (Button) levelv.findViewById(R.id.tomenu); gotomenu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { toMenuOnClick(v); } }); //Radio Buttons lvl1 = (RadioButton) levelv.findViewById(R.id.lvl1); lvl2 = (RadioButton) levelv.findViewById(R.id.lvl2); lvl3 = (RadioButton) levelv.findViewById(R.id.lvl3); lvl4 = (RadioButton) levelv.findViewById(R.id.lvl4); lvl5 = (RadioButton) levelv.findViewById(R.id.lvl5); //tomenu lvl = getLevel(); if(lvl.equals("-1")) { lvl=getLevel(); } } protected void toMenuOnClick(View v) { setContentView(R.layout.main); } protected void updateLevelOnClick(View v) { setContentView(R.layout.main); } protected void levelOnClick(View v) { setContentView(R.layout.level); if(lvl.equals("1")) { lvl1.setChecked(true); } if(lvl.equals("2")) { lvl2.setChecked(true); } if(lvl.equals("3")) { lvl3.setChecked(true); } if(lvl.equals("4")) { lvl4.setChecked(true); } if(lvl.equals("5")) { lvl5.setChecked(true); } } protected void playOnClick(View v) { setContentView(R.layout.play); setQuestion(); } private String getLevel() { String FILENAME = "think_level"; FileInputStream fis; byte[] buffer = new byte[1000]; try { fis = openFileInput(FILENAME); } catch (FileNotFoundException e) { setLevel("1"); return "-1"; } try { fis.read(buffer,0,1000); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String level = buffer.toString(); return level; } private void setLevel(String _level) { String FILENAME = "think_level"; String level = _level; FileOutputStream fos; try { fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); fos.write(level.getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } private void setQuestion() { } } </code></pre> <p>Here are my xml files: Main.xml:</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;TableLayout android:id="@+id/tableLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1" android:src="@drawable/think" android:scaleType="fitCenter"&gt;&lt;/ImageView&gt; &lt;Button android:id="@+id/play" android:text="Play" android:layout_height="wrap_content" android:layout_width="wrap_content" &gt;&lt;/Button&gt; &lt;Button android:text="Level" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/level"&gt;&lt;/Button&gt; &lt;/TableLayout&gt; </code></pre> <p>Here is my level.xml</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;TableLayout android:id="@+id/tableLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt; &lt;TextView android:text="Level:" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt;&lt;/TextView&gt; &lt;/TableRow&gt; &lt;TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt; &lt;RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt; &lt;RadioButton android:id="@+id/lvl1" android:text="Level 1" android:layout_height="wrap_content" android:checked="true" android:layout_width="wrap_content"&gt;&lt;/RadioButton&gt; &lt;RadioButton android:id="@+id/lvl2" android:text="Level 2" android:layout_height="wrap_content" android:layout_width="wrap_content"&gt;&lt;/RadioButton&gt; &lt;RadioButton android:id="@+id/lvl3" android:text="Level 3" android:layout_height="wrap_content" android:layout_width="wrap_content"&gt;&lt;/RadioButton&gt; &lt;RadioButton android:id="@+id/lvl4" android:text="Level 4" android:layout_height="wrap_content" android:layout_width="wrap_content"&gt;&lt;/RadioButton&gt; &lt;RadioButton android:id="@+id/lvl5" android:text="Level 5" android:layout_height="wrap_content" android:layout_width="wrap_content"&gt;&lt;/RadioButton&gt; &lt;/RadioGroup&gt; &lt;/TableRow&gt; &lt;Button android:text="Set Level" android:id="@+id/updateLevel" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt;&lt;/Button&gt; &lt;/TableLayout&gt; </code></pre> <p>Here is play.xml:</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"&gt; &lt;ScrollView android:id="@+id/scrollView1" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt; &lt;TextView android:text="TextView" android:id="@+id/question" android:layout_height="wrap_content" android:layout_width="wrap_content"&gt;&lt;/TextView&gt; &lt;/ScrollView&gt; &lt;RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content" &gt; &lt;RadioButton android:id="@+id/radioButton1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="RadioButton"&gt;&lt;/RadioButton&gt; &lt;RadioButton android:id="@+id/radioButton2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="RadioButton"&gt;&lt;/RadioButton&gt; &lt;RadioButton android:id="@+id/radioButton3" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="RadioButton"&gt;&lt;/RadioButton&gt; &lt;/RadioGroup&gt; &lt;Button android:id="@+id/go" android:text="Go" android:layout_height="wrap_content" android:layout_width="wrap_content"&gt;&lt;/Button&gt; &lt;Button android:id="@+id/tomenu" android:text="Back To Menu" android:layout_height="wrap_content" android:layout_width="wrap_content"&gt;&lt;/Button&gt; &lt;/TableLayout&gt; </code></pre>
    singulars
    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