我正在尝试开发我的第一个Android应用程序,下面是我遇到的问题:
当我点击Yes Button时,函数onYesButtonClick()不会被调用。函数应该用id TextView来更改TextView1的可见性,但是当我点击时,什么都不会发生。下面是activity_main.xml:
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:text="@string/q1" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginTop="55dp"
android:text="@string/hello_world"
android:visibility="invisible" />
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/TextView01"
android:layout_marginTop="22dp"
android:layout_toLeftOf="@+id/textView1"
android:onClick="onYesButtonClick"
android:text="Yes" />
<Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView1"
android:layout_toRightOf="@+id/textView1"
android:onClick="onNoButtonClick"
android:text="No" />
下面是MainActivity.java:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onYesButtonClick(View view){
TextView textView = (TextView) findViewById(R.id.textView1);
textView.setVisibility(android.view.View.VISIBLE);
}
public void onNoButtonClick(View view){
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}}
发布于 2014-08-22 12:48:50
在textView方法中声明onCreate,因为findViewById在活动方法的上下文中可用。因此,请将代码更改为
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView= (TextView) findViewById(R.id.textView1);
}
public void onYesButtonClick(View view){
textView.setVisibility(android.view.View.VISIBLE);
}发布于 2014-08-22 12:50:38
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onYesButtonClick(View view){
TextView textView = (TextView) findViewById(R.id.textView1);
textView.setVisibility(View.VISIBLE);
}
public void onNoButtonClick(View view){
TextView textView = (TextView) findViewById(R.id.textView1);
textView.setVisibility(View.GONE);
}
}发布于 2014-08-22 12:51:22
//this should be in your onCreate methord
TextView textView = (TextView) findViewById(R.id.textView1);
public void onYesButtonClick(View view){
if(view.getID()==R.id.button1){
textView.setVisibility(android.view.View.VISIBLE);
}
}https://stackoverflow.com/questions/25447215
复制相似问题