Мое затмение постоянно повторяет & ldquo; Значение поля не используется & rdquo;

Макет

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/TableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:gravity="center_horizontal" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Contact Application"
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center_horizontal"/>

код

//container Layout
    TableLayout tbl=(TableLayout)findViewById(R.id.TableLayout1);
    //table row
    TableRow tr = new TableRow(this);
    TableLayout.LayoutParams tableRowParams=
            new TableLayout.LayoutParams
            (TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);
    //for set margin
    tableRowParams.setMargins(0, 10, 0, 0);
    tr.setLayoutParams(tableRowParams);
    //text view
    TextView tv=new TextView(this);
    tv.setText("Email");
    tv.setGravity(Gravity.CENTER);
    tv.setTextColor(Color.parseColor("#0070C0"));
    tv.setTextSize(26);
    tv.setLayoutParams(new TableRow.LayoutParams(100, TableRow.LayoutParams.WRAP_CONTENT));
    //add textview
    tr.addView(tv);
    //set layout params of edittext
    TableRow.LayoutParams etParams=
            new TableRow.LayoutParams
            (120,30);
    etParams.setMargins(10, 0, 0, 0);

    EditText et=new EditText(this);
    et.setLayoutParams(etParams);
    //set background
    et.setBackgroundResource(R.drawable.bg_grey);
    et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
    tr.addView(et);

    tbl.addView(tr, tableRowParams);
0
задан AFY 11 March 2019 в 14:06
поделиться

2 ответа

Может быть, вы можете попытаться восстановить свое рабочее пространство. Я не могу увидеть проблему с вышеупомянутым кодом.

0
ответ дан nihar kawli 11 March 2019 в 14:06
поделиться

У вас есть опечатка в добытчике. Ваши if условия фактически устанавливают значение поля экземпляра, вместо проверки его:

if (this.hasDriverLicence = true)

Это должно быть:

if (this.hasDriverLicence == true)

Или лучше просто:

[ 112]

Поэтому переменная присваивается, но никогда не используется в вашем коде.

Разработка

Причина, по которой сингл = компилируется, но IDE выдает предупреждение о том, что переменная никогда не используется, заключается в том, что присвоение Оператор возвращает присвоенное значение .

Например, оператор:

myVariable = 1  

... возвращает 1.

Поэтому, когда вы неправильно проверяете назначение (=), а не примитивное равенство (==), вы всегда будете проверять значение вашего назначения (в вашем true в первом условии, которое всегда будет выполняться, false во втором, что, следовательно, никогда не будет выполняться).

0
ответ дан Mena 11 March 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: