当前位置: 首页 > 知识库问答 >
问题:

Android:如何从1个视图切换到另一个视图?

扶冠宇
2023-03-14
package helloworld.app;


import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.MenuItem; import
android.support.v4.app.NavUtils; 
/*import AudioRecordTest;*/

public class MainActivity extends Activity {

 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
     getMenuInflater().inflate(R.menu.activity_main, menu);
     return true;
 }

 public void startRecording() {
    setContentView(R.layout.next_page);
 }
  }

以下是活动2的代码:包helloworld.app;

import android.os.Bundle; 
import android.app.Activity; import
android.view.Menu; 
import android.view.MenuItem; import
android.support.v4.app.NavUtils; 
/*import AudioRecordTest;*/

public class next_page extends Activity {

 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.next_page);
 } }

以下是活动1的xml文件代码:

<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent" >

 <TextView
     android:id="@+id/textView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_centerHorizontal="true"
     android:layout_centerVertical="true"
     android:padding="@dimen/padding_medium"
     android:text="@string/hello_world"
     tools:context=".MainActivity" />

 <Button
     android:id="@+id/button1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentTop="true"
     android:layout_alignRight="@+id/textView1"
     android:layout_marginRight="40dp"
     android:layout_marginTop="32dp"
     android:text="Start Recording"
     android:onClick="startRecording" />

</RelativeLayout>

编辑:以下是来自logcat的错误消息

08-01 07:01:11.673:E/AndroidRuntime(1326):at Android.view.view$1.onclick(View.java:3578)

08-01 07:01:11.673:E/AndroidRuntime(1326):at Android.view.view.performClick(view.java:4084)

08-01 07:01:11.673:E/AndroidRuntime(1326):at Android.view.view$performClick.run(View.java:16966)

08-01 07:01:11.673:E/AndroidRuntime(1326):at Android.os.looper.loop(looper.java:137)

08-01 07:01:11.673:E/AndroidRuntime(1326):at Android.app.activityThread.main(activityThread.java:4745)

08-01 07:01:11.673:E/AndroidRuntime(1326):at java.lang.reflect.Method.invokenative(本机方法)

08-01 07:01:11.673:E/AndroidRuntime(1326):at java.lang.reflect.method.invoke(Method.java:511)

08-01 07:01:11.673:E/AndroidRuntime(1326):at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:786)

08-01 07:01:11.673:E/AndroidRuntime(1326):at com.android.internal.os.zygoteinit.main(zygoteinit.java:553)

08-01 07:01:11.673:E/AndroidRuntime(1326):at dalvik.system.nativeStart.main(本机方法)

08-01 07:01:11.673:E/AndroidRuntime(1326):原因:java.lang.NosuchMethodException:startRecording[class Android.View.View]

08-01 07:01:11.673:E/AndroidRuntime(1326):at java.lang.class.GetConstructororMethod(class.java:460)

08-01 07:01:11.673:E/AndroidRuntime(1326):at java.lang.class.GetMethod(class.java:915)

08-01 07:01:11.673:E/AndroidRuntime(1326):at Android.view.view$1.onclick(View.java:3571)

08-01 07:01:11.673:E/AndroidRuntime(1326):...11多

public void startRecording(View view) 
{
Intent intent = new Intent(this, next_page.class);  
startActivity(intent); 
}

共有1个答案

家浩瀚
2023-03-14

要使其工作,应该使用startrecording方法:

public void startRecording(View v) {     
    // setContentView(R.layout.next_page); this will modify the current activity view
    // if you want to start a new activity:
    Intent i = new Intent(this, next_page.class);
    startActivity(i);
}

确保在清单文件中声明了这两个活动。为了让android“查看”并使用您的活动,必须在AndroidManifest.xml文件中声明:

// ...
<activity android:name=".MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>
<activity android:name=".next_page" />
// ...

你应该从android开发者网站或一些教程中阅读,这是基本的东西。

 类似资料:
  • 问题内容: 搜索后,我没有在网上或任何其他资源中找到任何东西,我想知道您是否可以通过联接另一个视图和一些其他表来形成一个视图?我猜类似的东西与Server_ref.part_notification_view是要加入的视图。 问题答案: 您当然可以在另一个视图的基础上建立一个视图: 但是您不能引用基础表中的任何内容,包括不属于视图的任何字段: 具有相同列的基础表不是问题,并且如果您在视图中包含的内

  • 问题内容: 我的一个视图需要添加一个项目以及其他功能,但是我已经有另一个视图专门添加了一个项目。 我可以做类似的事情吗? 问题答案: View函数应将呈现的HTML返回给浏览器(在中)。在视图中调用视图意味着(可能)要进行两次渲染。相反,只需将“添加”分解为不是视图的另一个函数,并让两个视图都调用它。

  • 我正在使用DropWizard和Freemarker构建一个视图,该视图基于Web服务的结果显示不同类型的表单。 我将表单创建为视图——每个视图都有自己的ftl。 因此,在我的资源中,我发现我需要哪种表单,然后加载main.ftl,将表单视图作为参数传递(见下文)。 这不起作用。有人能看出我们哪里出了问题吗?或者,是否有完全不同的方法使用DropWizard和freemarker将视图链接在一起?

  • 我的应用程序有一个显示当前位置的谷歌地图的父布局,还有一个子布局,在谷歌地图上从屏幕底部向上移动,但只移动到屏幕的一半。我用下面的代码实现了这一切。 向上滑动和向下滑动的动画: 滑下去。xml slide_up.xml 主要活动: 子布局 父布局 问题是 如果地图被放大以扩展,如果子布局向上滑动,则我的地图标记会隐藏在子布局后面。我想在这种情况下,我的地图应该自动向上滑动。 就像Whatsspp聊

  • 问题内容: 我正在使用Swift,在tableview的didSelectRowAtIndexPath方法中出现错误。我想将值传递给另一个视图控制器,即“ secondViewController”。这里,EmployeesId是一个数组。相关代码如下: 但是我收到此错误:致命错误:展开一个Optional值时意外发现nil。 任何帮助将不胜感激。 问题答案: 这是一个有两个假设的一般解决方案。首

  • 我的应用程序设计使我对每个表单视图都有这样的布局:视图底部有一个浮动按钮。我使用来动态设置按钮的高度,无论屏幕宽度如何,总是相同的左/右边距,所以我最终有这样的布局: (1)底部按钮高度的清晰视图,以免隐藏按钮隐藏的滚动视图底部视图 基本上,这就是它看起来的样子: 现在我遇到的问题是当我点击底部的编辑文本时,例如,这里的第四个: 编辑文本会在键盘上向上移动,但不会在浮动按钮上移动,并且经常被它隐藏