【问题标题】:Apk closes when switching between pagesApk 在页面之间切换时关闭
【发布时间】:2021-02-01 18:45:26
【问题描述】:

我想从第一页转到第二页。我认为代码没有错误。为什么按页面切换按钮时apk会关闭?

你可能听不懂我,因为我不会说英语。

简而言之,为什么按下按钮时apk会关闭?

主xml

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


    <TextView
        android:id="@+id/tw2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_margin="16dp"
        android:shadowColor="#00ccff"
        android:shadowDx="1"
        android:shadowDy="1"
        android:shadowRadius="2"
        android:text=""
        android:textIsSelectable="true"
        android:textSize="30dp" />

    

    <Button
        android:id="@+id/guzelsozlerbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Değiştir"
        android:textColor="#ffffff"
        android:layout_marginStart="20dp"
        android:layout_marginBottom="30dp"
        android:textSize="20dp"
        android:onClick="guzelsoz"
        />

    

</RelativeLayout>

主要的java活动

package com.mycompany.myapp;

import android.app.*;
import android.os.*;
import android.widget.*;
import android.view.*;
import android.content.*;

public class MainActivity extends Activity 
{
    
    Button guzelsozler;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        guzelsozler = findViewById(R.id.guzelsozlerbtn);
    }
    public void guzelsoz(View view) 
    {
        Intent guzelsozsayfasi = new Intent (MainActivity.this,guzelsozler.class);
        startActivity(guzelsozsayfasi);
    }
}

【问题讨论】:

  • 您的 logcat 中显示什么错误?
  • 没有错误 / hata göstermiyor

标签: java android xml android-studio


【解决方案1】:

确保您已在应用的清单中声明 guzelsozler

<activity  
    android:name=".guzelsozler"  
    android:label="@string/title_activity_main"/>

【讨论】:

  • 我不知道它与宣言有什么关系。
  • 清单文件向 Android 构建工具描述了有关您的应用的基本信息。您要在应用程序中启动和启动的每个活动都必须在 android manifest 中声明。打开 AndroiMnifest.xml 并添加您的活动,就像我上面在应用程序标记中写的那样。
【解决方案2】:

您想要实现的功能不需要该功能。您想在按下按钮时从MainActivity 开始一个活动。你可以这样做:

public class MainActivity extends Activity 
{
    
    Button guzelsozler;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        guzelsozler = findViewById(R.id.guzelsozlerbtn);
        guzelsozler.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent guzelsozsayfasi = new Intent(MainActivity.this, SecondActivity.class);
            startActivity(guzelsozsayfasi);
        }
    });
        
}

请注意,我使用了new Intent(MainActivity.this, SecondActivity.class)。这个SecondActivity 是您要显示的活动。您的 guzelsozler.class 不正确,因为这是您的 Button 的变量名。因此,无论Activity 的名称是什么,请提供第二个参数Activity.class

【讨论】:

  • 不,先生。 APK 关闭
  • 你能和我们分享一下AndroidManifest吗?您是否像使用 MainActivity 一样创建了新的 Activity?
  • 跨度>
  • 据我所知,您没有在 AndroidManifest.xml 中创建活动。 java 目录中是否有 guzelsozler 和 guzelsozler.class 的布局?
  • 左边有MainActivity的地方,除了MainActivity还有别的吗?
【解决方案3】:
public class MainActivity extends Activity 
{

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

    public void guzelsoz(View view) 
    {
        Intent guzelsozsayfasi = new Intent (this,guzelsozler.class);
        startActivity(guzelsozsayfasi);
    }
}

清单文件

<application> 
<activity android:name=".MainActivity" android:label="@string/app_name" > 
    <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter>
</activity>
<activity android:name=".guzelsozler"  /> 

 </application> 

【讨论】:

  • 不幸的是,apk 再次关闭
  • 你能告诉我你的另一个活动名称吗
  • guzelsozler
  • 在清单文件中添加
  • @RahulPareta 不要教他。您可以看到他的按钮名为 guzelsozler,因此他认为他需要提供该按钮才能启动另一个活动。我们不知道他如何命名其他活动,或者他现在是否有任何活动。那是蒙着眼睛拍摄,只会让他感到困惑或搞砸他的项目。 .... Cebom25,请在您的问题中提供您的 AndroidManifest.xml 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 2016-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多