0

我查看了在活动之间切换的每个示例,并且总是得到相同的结果。该应用程序炸弹。

据我所知,如果您有一个填充布局内容的 java 类,那么为了切换到另一个布局,您必须“链接”到 java 文件,该文件反过来将打开 setContentView(R.layout.任何);

当我尝试这样做时,就像我说我的应用程序爆炸一样。我的代码如下: -

来自Java类:-

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

    setContentView(R.layout.activity_main);

    Button next = (Button) findViewById(R.id.goesnews);
    next.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent myIntent = new Intent(view.getContext(), ac2.class);
            startActivityForResult(myIntent, 0);
        }

    });

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);   




}

到 java 文件 (ac2)

     public class ac2 extends Activity {

     /** Called when the activity is first created. */
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main2);

     }}

任何人都可以在这里帮忙吗?

4

3 回答 3

0

解决方案很简单,基于 VSK(谢谢)的响应,稍作调整。

所需的 ImageButton :-

    <Button 
    android:id="@+id/previous" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:text="click"
    android:onClick="move" />

需要Java:-

    public void move(View v)
    {
    Intent myIntent = new Intent(yourclass.this, ac2.class);
    startActivityForResult(myIntent, 0);
    }

VSK - 请注意 startActivityForResult 的“0”属性

谢谢大家

于 2013-04-18T09:53:10.907 回答
0

试试这个方法

像这样将 onclick 函数添加到 xml 文件中的按钮

<Button 
        android:id="@+id/previous" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:text="click"
        android:onClick="move" />

并在你的java文件中像这样移动一个函数

public void move(View v)
{
         Intent myIntent = new Intent(yourclass.this, ac2.class);
        startActivityForResult(myIntent,0);
 }
于 2013-04-17T13:27:26.663 回答
0

尝试从此行中删除零:

startActivityForResult(myIntent, 0);

像这样并将其更改为:

startActivity(myIntent);

并更改此行:

Intent myIntent = new Intent(view.getContext(), ac2.class);

对此:

Intent myIntent = new Intent(firstActivityName.this, ac2.class);

因为您在这里获得的是按钮的上下文而不是活动的上下文。

于 2013-04-17T13:23:10.650 回答