1

抱歉,我对 android 开发非常陌生,现在我想锻炼一下,当用户按下按钮时,它将启动 Actitity2,同样,当用户按下 Activity2 中的取消按钮时,它将返回到原始活动.

我参考了关于编写应用程序的书,但它似乎不起作用,编码看起来很简单,如下所示:

public class NameIndex extends Activity 
{
       // called when the activity is first created
       @Override
       public void onCreate(Bundle savedInstanceState) 
       {
          super.onCreate(savedInstanceState); 
          setContentView(R.layout.name_index);

           public button_cancel_click (View view) { /////// <-- ERROR AT THIS LINE
               Intent intent = new Intent (this, GameIndex.class);
               startActivity(intent);
           }
       } // end method onCreate
}

xml布局如下:

    <TableRow android:id="@+id/tableRow1" 
      android:layout_height="match_parent" 
      android:layout_width="match_parent"
      android:paddingBottom="10dp"
      android:paddingTop="10dp"      
      android:layout_span="2" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_span="1"
            android:layout_weight="1"
            android:onClick="button_cancel_click"            
            android:text="Cancel" />     
    </TableRow>          

Eclipse 将上述错误行报告为“ button_cancel_click 无法解析为类型”,而对于

视图“参数视图的非法修饰符;只允许最终”。

这怎么可能解决?

4

2 回答 2

4

您正在 OnCreate 函数体中编写 button_cancel_click 函数的定义,像这样更正它:

public void onCreate(Bundle savedInstanceState)
{
.
.
.
}
public button_cancel_click (View view) 
{
.
.
}
于 2012-10-02T10:25:03.947 回答
0

应该以这种方式添加侦听器:

super.onCreate(savedInstanceState); 
setContentView(R.layout.name_index);
Button button = (Button ) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {                       
                    public void onClick(View v) {
                        Intent intent = new Intent (this, GameIndex.class);
           startActivity(intent);
                    }
                });
于 2012-10-02T10:20:26.223 回答