Первое действие работает только над моим проектом Android

1

Я новичок в Android и Java программировании, поэтому я стараюсь учиться на нескольких проектах, и я застрял с этой проблемой.

Когда я пытаюсь запустить приложение, только первое действие работает, а второе не работает.

Где я пропустил это приложение?

Я в замешательстве и два Java-проекта работают, но работает только первый вид деятельности.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<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"
    tools:context="com.android_examples.wallpaper_android_examplescom.MainActivity">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/img76"
        android:layout_above="@+id/btn_right"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="30dp"
        android:scaleType="fitXY" />

    <Button
        android:id="@+id/btn_right"
        style="@style/Widget.AppCompat.Button.Colored"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/btn_left"
        android:layout_alignBottom="@+id/btn_left"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_marginEnd="42dp"
        android:layout_marginRight="42dp"
        android:text="RIGHT" />

    <Button
        android:id="@+id/btn_left"
        style="@style/Widget.AppCompat.Button.Colored"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="43dp"
        android:layout_marginLeft="43dp"
        android:layout_marginBottom="100dp"
        android:text="LEFT" />


    <Button
        android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="0dp"
        android:text="Click here to Set this image as Wallpaper in android programmatically" />

</RelativeLayout>

MainActivity.java

package com.android_examples.wallpaper_android_examplescom;
import android.app.WallpaperManager;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {

    Button button;
    ImageView imageView;
    WallpaperManager wallpaperManager ;
    Bitmap bitmap1, bitmap2 ;
    DisplayMetrics displayMetrics ;
    int width, height;
    BitmapDrawable bitmapDrawable ;

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

        button = (Button)findViewById(R.id.button);

        imageView = (ImageView)findViewById(R.id.imageView);

        wallpaperManager  = WallpaperManager.getInstance(getApplicationContext());

        bitmapDrawable = (BitmapDrawable) imageView.getDrawable();

        bitmap1 = bitmapDrawable.getBitmap();

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                GetScreenWidthHeight();

                SetBitmapSize();

                wallpaperManager = WallpaperManager.getInstance(MainActivity.this);

                try {

                    wallpaperManager.setBitmap(bitmap2);

                    wallpaperManager.suggestDesiredDimensions(width, height);


                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
    }

    public void GetScreenWidthHeight(){

        displayMetrics = new DisplayMetrics();

        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);

        width = displayMetrics.widthPixels;

        height = displayMetrics.heightPixels;

    }

    public void SetBitmapSize(){

        bitmap2 = Bitmap.createScaledBitmap(bitmap1, width, height, false);

    }
}

login.java

package com.android_examples.wallpaper_android_examplescom;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;


public class login extends AppCompatActivity {
    private ImageView imageView;
    private Button btn_right, btn_left;
    private int current_image_index;
    private int[] images = {R.drawable.img76, R.drawable.img2};

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

        DisplayImage();
        SwitchButton();
    }

    void DisplayImage(){
        imageView = (ImageView)findViewById(R.id.imageView);
    }

    void SwitchButton(){
        btn_right = (Button)findViewById(R.id.btn_right);
        btn_left = (Button)findViewById(R.id.btn_left);
        btn_right.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                current_image_index++;
                current_image_index = current_image_index % images.length;
                imageView.setImageResource(images[current_image_index]);
            }
        });

        btn_left.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                            current_image_index--;

                                            if(current_image_index < 0){
                                                current_image_index = images.length - 1;
                                            }
                                            imageView.setImageResource(images[current_image_index]);
                                        }
                                    }





        );



    }
}

Androidmanifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android_examples.wallpaper_android_examplescom">

<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

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

</application>
</manifest>
Теги:

6 ответов

0

Приветствие

Ваше решение ниже по ссылке https://developer.android.com/reference/android/content/Intent

0
 void SwitchButton() {
    btn_right = (Button) findViewById(R.id.btn_right);
    btn_left = (Button) findViewById(R.id.btn_left);
    btn_right.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            current_image_index++;
            current_image_index = current_image_index % images.length;
            imageView.setImageResource(images[current_image_index]);
            startMainPage();
        }
    });

    btn_left.setOnClickListener(new View.OnClickListener() {
                                    @Override
                                    public void onClick(View v) {
                                        current_image_index--;

                                        if (current_image_index < 0) {
                                            current_image_index = images.length - 1;
                                        }
                                        imageView.setImageResource(images[current_image_index]);
                                        startMainPage();
                                    }
                                }


    );


}

private void startMainPage() {
    Intent intent = new Intent(Login.this, MainActivity.class);
    startActivity(intent);
}
0

Theres нет кода для перехода к MainActivity

Триггер ниже кода

private void startMainActivity(){
     Intent intent = new Intent(this, MainActivity.class);
     startActivity(intent);
}
  • 0
    Можете ли вы отредактировать Java-файл, чтобы мне было легко учиться.
0

Вы должны начать свою вторую деятельность

startActivity (new Intent (getApplicationContext(), MainActivity.class));

убедитесь, что вы добавили второе действие в файл манифеста

  • 0
    Где я должен добавить свою вторую активность?
0

напишите этот код в вашем слушателе щелчка:

  btn_right.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            current_image_index++;
            current_image_index = current_image_index % images.length;
            imageView.setImageResource(images[current_image_index]);

            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        }
    });
  • 0
    Здравствуйте, у меня возникла ошибка при добавлении Intent intent = new Intent (this, MainActivity.class); startActivity (намерение);
0

Везде, где вы хотите позвонить в следующий вид деятельности, используйте это: -

  Intent intent = new Intent(this, MainActivity.class);
  startActivity(intent);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню