Tools context mainactivity ошибка

I encountered a problem while using Android Studio. When I’m trying to run any app, I get the same error «Default activity not found», and in my code in line tools:context=".MainActivity", MainActivity is highlighted red and it says «Unresolved class MainActivity». It happens even if I create a brand new «empty activity».

So far I’ve tried:

  • refreshing IDE cache
  • checked package names in Android manifest and MainActivity
  • selecting a default activity in-app configuration
  • made sure that src is the source directory

I’ve also noticed that in my «most advanced» app the build.gradle looks like this:

Screenshot

Android manifest:

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

Project directory + code:

dir

activity main xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/coffee_grains"
        android:layout_width="match_parent"
        android:layout_height="300sp"
        android:contentDescription="Coffee Grains"
        android:scaleType="centerCrop"
        android:src="@drawable/coffee_grains"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/cup"
        android:layout_width="120sp"
        android:layout_height="170sp"
        android:layout_marginLeft="8dp"
        android:src="@drawable/cup"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@id/coffee_grains" />

    <TextView
        android:id="@+id/quantity"
        android:layout_width="100sp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16sp"
        android:layout_marginTop="16sp"
        android:gravity="center"
        android:text="quantity"
        android:textAllCaps="true"
        android:textSize="16sp"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/coffee_grains" />

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/quantity">

        <Button
            android:id="@+id/plus"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_marginLeft="8dp"
            android:onClick="increment"
            android:text="+" />

        <TextView
            android:id="@+id/quantity_text_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="8sp"
            android:layout_marginRight="8sp"
            android:gravity="center"
            android:text="1"
            android:textColor="#000000"
            android:textSize="14sp" />

        <Button
            android:id="@+id/miuns"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_marginLeft="8dp"
            android:onClick="decrement"
            android:text="-" />
    </LinearLayout>

    <TextView
        android:id="@+id/price"
        android:layout_width="100sp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:text="order summary"
        android:textAllCaps="true"
        android:textSize="16sp"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/linearLayout" />

    <TextView
        android:id="@+id/order_summary_text_view"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:text="0$"
        android:textSize="16dp"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/price" />

    <Button
        android:layout_width="100sp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16sp"
        android:layout_marginTop="8sp"
        android:gravity="center"
        android:onClick="submitOrder"
        android:text="order"
        android:textSize="16sp"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/order_summary_text_view" />
</android.support.constraint.ConstraintLayout>

Main Activity file:

package com.example.justjava;

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

/**
 * This app displays an order form to order coffee.
 */
public class MainActivity extends AppCompatActivity {

    int quantity = 1;
    double pricePerCup = 2.90;
    String name = "Pawel";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void increment(View view) {
        quantity = quantity +1;
        displayQuantity(quantity);
    }
    public void decrement(View view) {
        quantity = quantity - 1;
        displayQuantity(quantity);
    }
    private String createOrderSummary(double price){
        String orderSummary = "Name: " + name + "nQuantity: " + quantity + 
    "nTotal price: $" + price + "nThanks!";
        return orderSummary;
    }

    private double calculatePrice(int count, double price){
        return count*price;
    }

    /**
     * This method displays the given text on the screen.
     */
    private void displayMessage(String message) {
        TextView orderSummaryTextView = 
    findViewById(R.id.order_summary_text_view);
        orderSummaryTextView.setText(message);
    }
    /**
     * This method is called when the order button is clicked.
     */
    public void submitOrder(View view) {
        double totalPrice = calculatePrice(quantity, pricePerCup);
        String priceMessage = createOrderSummary(totalPrice);
        displayMessage(priceMessage);
    }

    /**
     * This method displays the given quantity value on the screen.
     */
    private void displayQuantity(int number) {
        TextView quantityTextView = findViewById(R.id.quantity_text_view);
        quantityTextView.setText("" + number);
    }

}

Я столкнулся с проблемой при использовании Android Studio. Когда я пытаюсь запустить какое-либо приложение, я получаю ту же ошибку » tools:context=".MainActivity" умолчанию не найдено», и в моем коде в строке tools:context=".MainActivity", MainActivity выделяется красным цветом и говорит «Unresolved class MainActivity». Это происходит, даже если я создаю совершенно новую «пустую активность».

Пока что я пробовал:

  • обновление кеша IDE
  • проверенные имена пакетов в манифесте Android и MainActivity
  • выбор активности по умолчанию в конфигурации приложения
  • убедился, что src является исходным каталогом

Я также заметил, что в моем «самом продвинутом» приложении build.gradle выглядит так:

Изображение 417888

Android манифест:

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

Каталог проекта + код:

Изображение 417895

основной вид деятельности xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/coffee_grains"
        android:layout_width="match_parent"
        android:layout_height="300sp"
        android:contentDescription="Coffee Grains"
        android:scaleType="centerCrop"
        android:src="@drawable/coffee_grains"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/cup"
        android:layout_width="120sp"
        android:layout_height="170sp"
        android:layout_marginLeft="8dp"
        android:src="@drawable/cup"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@id/coffee_grains" />

    <TextView
        android:id="@+id/quantity"
        android:layout_width="100sp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16sp"
        android:layout_marginTop="16sp"
        android:gravity="center"
        android:text="quantity"
        android:textAllCaps="true"
        android:textSize="16sp"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/coffee_grains" />

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/quantity">

        <Button
            android:id="@+id/plus"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_marginLeft="8dp"
            android:onClick="increment"
            android:text="+" />

        <TextView
            android:id="@+id/quantity_text_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="8sp"
            android:layout_marginRight="8sp"
            android:gravity="center"
            android:text="1"
            android:textColor="#000000"
            android:textSize="14sp" />

        <Button
            android:id="@+id/miuns"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_marginLeft="8dp"
            android:onClick="decrement"
            android:text="-" />
    </LinearLayout>

    <TextView
        android:id="@+id/price"
        android:layout_width="100sp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:text="order summary"
        android:textAllCaps="true"
        android:textSize="16sp"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/linearLayout" />

    <TextView
        android:id="@+id/order_summary_text_view"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:text="0$"
        android:textSize="16dp"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/price" />

    <Button
        android:layout_width="100sp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16sp"
        android:layout_marginTop="8sp"
        android:gravity="center"
        android:onClick="submitOrder"
        android:text="order"
        android:textSize="16sp"
        app:layout_constraintLeft_toRightOf="@id/cup"
        app:layout_constraintTop_toBottomOf="@id/order_summary_text_view" />
</android.support.constraint.ConstraintLayout>

Основной файл активности:

package com.example.justjava;

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

/**
 * This app displays an order form to order coffee.
 */
public class MainActivity extends AppCompatActivity {

    int quantity = 1;
    double pricePerCup = 2.90;
    String name = "Pawel";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void increment(View view) {
        quantity = quantity +1;
        displayQuantity(quantity);
    }
    public void decrement(View view) {
        quantity = quantity - 1;
        displayQuantity(quantity);
    }
    private String createOrderSummary(double price){
        String orderSummary = "Name: " + name + "nQuantity: " + quantity + 
    "nTotal price: $" + price + "nThanks!";
        return orderSummary;
    }

    private double calculatePrice(int count, double price){
        return count*price;
    }

    /**
     * This method displays the given text on the screen.
     */
    private void displayMessage(String message) {
        TextView orderSummaryTextView = 
    findViewById(R.id.order_summary_text_view);
        orderSummaryTextView.setText(message);
    }
    /**
     * This method is called when the order button is clicked.
     */
    public void submitOrder(View view) {
        double totalPrice = calculatePrice(quantity, pricePerCup);
        String priceMessage = createOrderSummary(totalPrice);
        displayMessage(priceMessage);
    }

    /**
     * This method displays the given quantity value on the screen.
     */
    private void displayQuantity(int number) {
        TextView quantityTextView = findViewById(R.id.quantity_text_view);
        quantityTextView.setText("" + number);
    }

}

#android

#Android

Вопрос:

аргумент: tools:context=".MainActivity" выдает ошибку, кроме того, часть с именем: .MainActivity отображается красным цветом, что я могу сделать?

 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
  

Комментарии:

1. У вас все еще есть MainActivity ?

Ответ №1:

пробовал перестроить проект или попытаться отменить перезапуск кэша

если все та же проблема, вы можете добавить yourpackagename.mainactivity, как на картинке

 tools:context="com.etest.myapplicwr.MainActivity">
  

мое имя пакета com.etest.myapplicwr
замените его именем вашего пакета

Ответ №2:

Вы можете удалить его или обновить, чтобы указать на какое-либо действие или фрагмент, где вы будете использовать этот ресурс макета.

Ответ №3:

вы должны найти, в какой папке вы сохраняете MainActivity . Например:введите описание изображения здесь итак, проверьте это.

И затем, вы должны понять, в чем его функция.

он используется: Lint, редактором макетов Android Studio .

Этот атрибут объявляет, с каким действием этот макет связан по умолчанию.

Это позволяет использовать функции в редакторе или предварительном просмотре макета, которые требуют знания действия, например, какой должна быть тема макета в предварительном просмотре и куда вставлять обработчики onClick, когда вы создаете их из quickfix.

вы можете найти более подробную информацию здесь

#java #android #xml #android-studio

Вопрос:

В моем файле AndroidManifest отображается ошибка «Неразрешенный класс «MainActivity»», но у меня есть класс java и файл с таким именем в пакете , и он должен быть первым действием программы, поэтому, когда я пытаюсь запустить программу, она выходит из строя, я проверил свой код, но не смог найти там никаких проблем .

java-код для файла MainActivity

 package com.example.tictactoe;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.content.Intent;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    Button forward;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        forward = (Button)findViewById(R.id.start);
        forward.setOnClickListener(new View.OnClickListener()
                                    {
                                       @Override
                                       public void onClick(View v)
                                       {
                                           startActivity(new Intent(MainActivity.this,GameUi.class));
                                       }
                                    });
    }
    @Override
    public void onBackPressed() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCancelable(false);
        builder.setMessage("Do you want to Exit?");
        builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                finish();
            }
        });
        builder.setNegativeButton("No",new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });
        AlertDialog alert=builder.create();
        alert.show();
    }
}
 

java-код для второго действия, которое использует моя программа («GameUi.java»)

 package com.example.tictactoe

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.os.Bundle;

public class GameUi extends AppCompatActivity {
    Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game_ui);
        btn=(Button)findViewById(R.id.backbtn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    startActivity(new Intent(GameUi.this, MainActivity.class));
            }
        });
    }
}
 

AndroidManifest file code

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.TicTacToe">
        <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=".GameUi">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

Код xml-файла основной активности

 <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#E5E6AD"
        tools:context=".MainActivity">
    <TextView
        android:id="@ id/Heading"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_row="0"
        android:layout_column="0"
        android:layout_marginBottom="332dp"
        android:editable="false"
        android:text="Hello Aliens!"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="50dp"
        android:textStyle="bold|italic"
        app:layout_constraintBottom_toBottomOf="parent"
        tools:layout_editor_absoluteX="16dp" />

    <ImageView
        android:id="@ id/Alienimg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="36dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@id/Heading"
        app:srcCompat="@drawable/ic_launcher_foreground" />
    
    <Button
        android:id="@ id/Startbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#000066"
        android:letterSpacing="0.5"
        android:padding="0dp"
        android:text="Start"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@ id/Alienimg"
        app:layout_constraintVertical_bias="0.886" />

</androidx.constraintlayout.widget.ConstraintLayout>
 

введите описание изображения здесь

Комментарии:

1. Вставьте свою ошибку logcat при сбое приложения.

2. пожалуйста, вставьте activity_main.xml

3. Файл (Верхнее меню) -> Аннулировать кэш / перезапустить. Это должно решить вашу проблему

Ответ №1:

В твоем классе я не вижу пакета сверху. Попробуйте добавить его и посмотрите, если вы все еще сталкиваетесь с проблемой, попробуйте аннулировать и перезапустить.

 package com.example.tictactoe;
 

Комментарии:

1. На самом деле я добавил файлы в пакет , который я пропустил, чтобы показать это на stackoverflow, Извините, что я исправил это сейчас.

Ответ №2:

Это является причиной ошибки

 <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=".GameUi">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

фильтр намерений используется для определения того, какое действие будет вашим первым действием ( при запуске приложения для Android ). Вы можете использовать его в обоих действиях, чтобы приложение перепутало, какое из них является вашим первым действием, поэтому они выдают ошибку.

В случае, если основная активность-это ваше первое действие

 <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=".GameUi">
            
        </activity>

 

Комментарии:

1. Я так не думаю. это проблема, верно. но это просто делает два приложения, которые открываются в разных видах деятельности.

2. Это не причина сбоя, я проверил это в своем приложении, работает.

3. спасибо, что указали на то, что на самом деле я тестировал свое второе действие, так что я поставил фильтр намерений, но мое приложение все еще выходит из строя, я попытался создать новый пакет, но все равно не сработало, я не думаю, что это было необходимо, но проверить, но после этого тоже не сработало

4. @Паста Ачинтяшарма activity_main.xml

Ответ №3:

Ваш манифест в порядке ( я думаю, вы исправили проблему с фильтром намерений на основе ответа Абдуллы Шейха). проблема заключается в том, что эта строка в MainActivity :

     forward = (Button)findViewById(R.id.start);
 

потому что ваш идентификатор кнопки Startbtn не start

просто замените это на :

 forward = (Button)findViewById(R.id.Startbtn);
 

также в activity_main и ImageView удалите

app:srcCompat="@drawable/ic_launcher_foreground"

или найдите другой src для рисования.

Vavi

1 / 1 / 1

Регистрация: 06.08.2013

Сообщений: 16

1

09.01.2014, 22:35. Показов 2058. Ответов 10

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Начал изучать Java и написание под Андроид. Eclipse с модулем имеется.
Простая программка: ToggleButton, от состояния которого меняется текст в текстовой вьюхе. Делал по урокам, приложение запускается, текст не выводится, где я накосячил?
active_main.xml

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
 
    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />
 
    <TextView
        android:id="@+id/tvInfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/toggleButton1"
        android:layout_alignRight="@+id/toggleButton1"
        android:layout_marginBottom="29dp" />
 
</RelativeLayout>

Сам класс ToggleButtonDemoActivity.java

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.example.testxxxx;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
 
public class ToggleButtonDemoActivity extends Activity implements
        OnCheckedChangeListener {
 
    ToggleButton toogleButton;
    TextView tvInfo;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toogleButton = (ToggleButton) findViewById(R.id.toggleButton1);
        tvInfo = (TextView) findViewById(R.id.tvInfo);
 
        toogleButton.setOnCheckedChangeListener(this);
    }
 
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        // TODO Auto-generated method stub
        if (isChecked)
            tvInfo.setText("Состояние: Включён");
        else
            tvInfo.setText("Состояние: Выключен");
    }
}

Только учусь, поэтому буду рад всем замечаниям



0



verylazy

Заблокирован

09.01.2014, 22:56

2

недоглядел, ответ стер

Добавлено через 10 минут
создал у себя, запустил, все работает
показывает кнопку и нажимается



0



1 / 1 / 1

Регистрация: 06.08.2013

Сообщений: 16

09.01.2014, 23:01

 [ТС]

3

Цитата
Сообщение от verylazy
Посмотреть сообщение

Добавлено через 10 минут
создал у себя, запустил, все работает
показывает кнопку и нажимается

Хм, странно. Может у меня эмулятор бунтует. Сейчас проверю на смартфоне

Добавлено через 52 секунды

Цитата
Сообщение от verylazy
Посмотреть сообщение

Добавлено через 10 минут

показывает кнопку и нажимается

Кнопка должна те только нажиматься, но и в текстовом поле должна выводиться информация. onCheckedChanged событие



0



2 / 2 / 0

Регистрация: 26.09.2013

Сообщений: 13

10.01.2014, 00:02

4

не ломайте голову. попробуйте сначала фон закрасить у активити или у вьюхи и все получится. Сам спотыкался на этом моменте.
Если вы на разметку без фона установите вьюшку для карт и оставите поля то при перетаскивании карты на полях будут кракозябры. А также если на незакрашенной активити есть кнопка внизу, то при вызове клавиатуры она переместится выше а после того как спрячете клаву увидите аж два изображения кнопки — одну на положенном месте — настоящую, другую там куда она перемещалась — артефакт.
И вообще совет для начинающих: создали разметку и сразу закрасили фон, избавит от лишних вопросов.



0



1 / 1 / 1

Регистрация: 06.08.2013

Сообщений: 16

10.01.2014, 00:20

 [ТС]

5

Цитата
Сообщение от giperbol
Посмотреть сообщение

не ломайте голову. попробуйте сначала фон закрасить у активити или у вьюхи и все получится. Сам спотыкался на этом моменте.
Если вы на разметку без фона установите вьюшку для карт и оставите поля то при перетаскивании карты на полях будут кракозябры. А также если на незакрашенной активити есть кнопка внизу, то при вызове клавиатуры она переместится выше а после того как спрячете клаву увидите аж два изображения кнопки — одну на положенном месте — настоящую, другую там куда она перемещалась — артефакт.
И вообще совет для начинающих: создали разметку и сразу закрасили фон, избавит от лишних вопросов.

Спасибо за совет, но я не до конца его понял. Закрасить фон? Как? Зачем?
Класс не работает же. Вообще не понятно, реагирует ли ToggleButtonDemoActivity на происходящее с кнопкой или нет.



0



2 / 2 / 0

Регистрация: 26.09.2013

Сообщений: 13

10.01.2014, 01:32

6

Перед первым листингом название файла у Вас active_main.xml, а в коде класса вы вызываете activity_main.
Вот этот кусочек удалить tools:context=».MainActivity»

Вот готовый проект из Эклипса. 100% работает на реальных устройствах на андройд 2.2, 2.3.4 и 4.03.

Как закрасить фон — увидите в разметке строку

android:background= «@color/white»

Эта строка подразумевает, что в папке res/values имеется файл colors.xml а в нем описан цвет с названием white.



0



verylazy

Заблокирован

10.01.2014, 11:40

7

код рабочий на 100% все там меняется и нажимается и выводится
эмулятор вообще запускается? какая версия на эмутяторе, платформа?



0



1 / 1 / 1

Регистрация: 06.08.2013

Сообщений: 16

10.01.2014, 13:28

 [ТС]

8

Цитата
Сообщение от verylazy
Посмотреть сообщение

код рабочий на 100% все там меняется и нажимается и выводится
эмулятор вообще запускается? какая версия на эмутяторе, платформа?

Вот скрины эмулятор: и
С эмулятором все в порядке должно быть, ведь остальные проекты запускаются и работают.



0



verylazy

Заблокирован

10.01.2014, 13:40

9

файл с разметкой так и называется — activity_main.xml или все таки active_main.xml ?



0



1 / 1 / 1

Регистрация: 06.08.2013

Сообщений: 16

10.01.2014, 13:51

 [ТС]

10

Цитата
Сообщение от verylazy
Посмотреть сообщение

файл с разметкой так и называется — activity_main.xml или все таки active_main.xml ?

activity_main.xml
В коде правильно, ошибся при переносе

Добавлено через 4 минуты
Вот мой проект



0



2 / 2 / 0

Регистрация: 26.09.2013

Сообщений: 13

11.01.2014, 01:01

11

Значит так!
У Вас в проекте есть 2 активити MainActivity и ToggleButtonDemoActivity.
В файле манифеста объявлена только первая и она же является стартовой. Вызов Вашей разметки с кнопкой прописан и там и там, но поскольку запускается первая активити, то и реакции на кнопку нет, так как в коде первой активити ничего кроме вызова разметки. А кнопка в разметке есть и у нее 2 состояния гладить и не гладить (Привет Климову! Сам у него учился.). Поэтому при щелчке на кнопку сама кнопка изменяет свое состояние и больше ничего не происходит. Эмулятор у Вас в порядке.

Как исправить:
1 вариант — прописать код вызова второй активити в методе OnCreate у первой до вызова разметки. Не забываем при этом об объявлении второй активити в манифесте.
2 вариант — удалить из проекта первую активити и объявить в манифесте вторую сделав ее стартовой

Если и теперь непонятно, то просто в файле манифеста замените MainActivity на ToggleButtonDemoActivity и сразу все заработает!

Тему можно закрывать.



0



Понравилась статья? Поделить с друзьями:
  • Tool 1cd ошибка определения кодировки файла
  • Too many threads ошибка
  • Too many syntax or protocol errors ошибка
  • Too many security failures vnc ошибка
  • Too many redirections вконтакте ошибка