Android Studio: не удается найти ошибку символьной переменной - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь разработать очень простое приложение для Android.Хотя я пошел с правильным назначением и декларацией, я все еще получаю ошибку.Я пробовал разные решения, такие как аннулирование кэша и перезапуск, но ни одно из них не сработало.

Разделение на объявление и присваивание уже сделано, что фактически автоматически предложено компилятором.Если есть другие альтернативные решения, дайте мне знать.Я также перестроил свой проект, но тогда это не сработало.

package com.example.javadesignapp;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Menu ;
import android.view.Menu ;
import android.view.MenuItem ;
import android.widget.RelativeLayout ;
import android.widget.Button ;
import android.graphics.Color ;
import android.widget.EditText ;
import android.content.res.Resources ;
import android.util.TypedValue ;
import android.widget.TextView ;
import android.view.View ;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        RelativeLayout ahsansLayout = new RelativeLayout(this);
        ahsansLayout.setBackgroundColor(Color.WHITE);


        Button redButton = new Button(this);
        redButton.setText(" !! Login now !! ");
        redButton.setBackgroundColor(Color.WHITE);





        redButton.setId(1);
        Button ahsansbutton = (Button) findViewById(R.id.ahsansbutton);


        //Username input

        EditText username = new EditText(this);
        username.setId(2) ;





    RelativeLayout.LayoutParams buttonDetails = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.WRAP_CONTENT,
                    RelativeLayout.LayoutParams.WRAP_CONTENT


    );





    RelativeLayout.LayoutParams usernameDetails  = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT


    );



    // Give rules to position widgets

    usernameDetails.addRule(RelativeLayout.ABOVE, redButton.getId()) ;
    usernameDetails.addRule(RelativeLayout.CENTER_HORIZONTAL);
    usernameDetails.setMargins(0,0,0,50);





    buttonDetails.addRule(RelativeLayout.CENTER_HORIZONTAL) ;
    buttonDetails.addRule(RelativeLayout.CENTER_VERTICAL) ;



    Resources r = getResources() ;
    int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,200,
            r.getDisplayMetrics()
            );



    username.setWidth(px);





    ahsansLayout.addView(redButton,buttonDetails);
    ahsansLayout.addView(username, usernameDetails);



    setContentView(ahsansLayout);




}

}

1 Ответ

0 голосов
/ 09 июля 2019

Заменить setContentView(ahsansLayout); на

 setContentView(R.layout.ahsansLayout)

P / S: если вы хотите назначить идентификатор кнопке, вам нужно создать собственный макет и накачать его до MainActivity. Не забудьте присвоить ahsansbutton id вашему Button в ahsansLayout.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...