Java 你好我是android应用程序开发新手。我试图创建一个简单的计数器,但在构建之后出现了错误;无法实例化“活动”;

Java 你好我是android应用程序开发新手。我试图创建一个简单的计数器,但在构建之后出现了错误;无法实例化“活动”;,java,android,Java,Android,错误: 2021-02-10 00:29:06.870 16714-16714/?E/合子:v2 2021-02-10 00:29:06.871 16714-16714/? E/合子:访问信息:0 2021-02-10 00:29:07.017 16714-16714/? E/AndroidRuntime:致命异常:主 进程:com.example.counter_应用程序,PID:16714 java.lang.RuntimeException:无法实例化活动组件信息{com.example.

错误:

2021-02-10 00:29:06.870 16714-16714/?E/合子:v2
2021-02-10 00:29:06.871 16714-16714/? E/合子:访问信息:0
2021-02-10 00:29:07.017 16714-16714/? E/AndroidRuntime:致命异常:主
进程:com.example.counter_应用程序,PID:16714
java.lang.RuntimeException:无法实例化活动组件信息{com.example.counter_app/com.example.counter_app.MainActivity}:java.lang.InstantiationException:无法实例化java.lang.Class
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2849)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
位于android.app.ActivityThread.-wrap14(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6776)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
原因:java.lang.InstantiationException:无法实例化java.lang.Class
位于java.lang.Class.newInstance(本机方法)
位于android.app.Instrumentation.newActivity(Instrumentation.java:1086)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2839)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
位于android.app.ActivityThread.-wrap14(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6776)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)

将此行添加到清单文件中

public abstract class MainActivity extends AppCompatActivity {

    Button decrement;
    Button increment;
    TextView counter_view;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       // Log.i("tag", "onCreate: Created Successfully");

        increment=findViewById(R.id.inc_btn);
        decrement=findViewById(R.id.dec_btn);
        counter_view=findViewById(R.id.counter);

        increment.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String cnt_text=counter_view.getText().toString();
                int cnt_no= Integer.parseInt(cnt_text);
                cnt_no=cnt_no+1;
                counter_view.setText(cnt_no+"");
            }
        });

        decrement.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String cnt_text=counter_view.getText().toString();
                int cnt_no=Integer.parseInt(cnt_text);
                cnt_no=cnt_no-1;
                counter_view.setText(cnt_no+"");
            }
        });
    }

将此行添加到清单文件中

public abstract class MainActivity extends AppCompatActivity {

    Button decrement;
    Button increment;
    TextView counter_view;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       // Log.i("tag", "onCreate: Created Successfully");

        increment=findViewById(R.id.inc_btn);
        decrement=findViewById(R.id.dec_btn);
        counter_view=findViewById(R.id.counter);

        increment.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String cnt_text=counter_view.getText().toString();
                int cnt_no= Integer.parseInt(cnt_text);
                cnt_no=cnt_no+1;
                counter_view.setText(cnt_no+"");
            }
        });

        decrement.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String cnt_text=counter_view.getText().toString();
                int cnt_no=Integer.parseInt(cnt_text);
                cnt_no=cnt_no-1;
                counter_view.setText(cnt_no+"");
            }
        });
    }

我想这是您在启动时显示的第一个屏幕/活动/类,也就是说,这是您的启动程序活动。如果是

启动器活动不能是抽象的。因为当应用程序从Android设备的主屏幕启动时,Android操作系统会在您声明为启动程序活动的应用程序中创建一个活动实例。抽象类不能被实例化,它们只能是子类


请删除类名前的单词abstract。

我想这是您在启动时显示的第一个屏幕/活动/类,也就是说,这是您的启动程序活动。如果是

启动器活动不能是抽象的。因为当应用程序从Android设备的主屏幕启动时,Android操作系统会在您声明为启动程序活动的应用程序中创建一个活动实例。抽象类不能被实例化,它们只能是子类


请删除类名前的单词abstract。

如果是这种情况,我相信错误可能是由以下原因造成的:android.content.ActivityNotFoundException:找不到显式活动类{com.your.package.name.MainActivity};您是否在AndroidManifest.xml中声明了此活动?如果是这种情况,我相信错误的原因是:android.content.ActivityNotFoundException:找不到显式活动类{com.your.package.name.MainActivity};您是否在AndroidManifest.xml中声明了此活动?很好,这里有一个
抽象声明,不应该是!(但仍然必须在清单中声明,也许是…)好的一点,有一个
抽象的
声明,不应该!(但仍然必须在清单中声明,也许它是…)请考虑我和@ SnCHMSM的回答。请确保你已经完成了两件事来解决你的问题,请考虑我和@ SNACHMSM的答案。确保这两件事都能解决你的问题