В каком направлении копать? Есть активити, при нажатии на кнопку вызывается alerdDialog
в котором выходит список (массив) цифр, при выборе меняется переменная, но не обновляется textView
элемент, после закрытия диалога (но переменная меняется). И меняет своё значение при повторном вызове диалога
public class HlamActivity extends AppCompatActivity {
TextView helpMyTextView;
Auxiliary auxiliary;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hlam);
helpMyTextView = (TextView)findViewById(R.id.textView2);
button= (Button)findViewById(R.id.buttonHlam);
helpMyTextView.setText("Значение = "+MainActivity.Q_Q);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
start();
} });
}
public void start(){
auxiliary.alerdDialogQ(this);
}
др. *.java
public class Auxiliary {
Context context;
public void alerdDialogQ(Context context){
res = context.getResources();
final String [] Q = {"10","20","30","40","50"};
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle(res.getString(R.string.numberQ));
builder.setItems(Q, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
MainActivity.Q_Q = Integer.parseInt(Q[i]);
//????
}
});
builder.setCancelable(false);
builder.create();
builder.show();
}}
Найденные варианты:
1) использовать класс Handler
2) Создать таймер, и обновлять класс каждые 200 мс
3) Перидовать данные через Integer
В вашем случае правильно будет использовать интерфейс и передавать через него сигнал в активность, где будут проходить все изменения.
например вот так:
public class Auxiliary {
Context context;
DialogCallback callback;
interface DialogCallback {
void dialogCallback(int data);
}
public void alerdDialogQ(Context context){
callback = (DialogCallback) context;
...
public void onClick(DialogInterface dialogInterface, int i) {
callback.(Integer.parseInt(Q[i]));
}
...
}
}
А в активности прописать:
public class HlamActivity extends AppCompatActivity implements Auxiliary.DialogCallback {
@Override
void dialogCallback(int data){
Q_Q = data;
textView.setText(String.valueOf(data));
}
Статическую переменную MainActivity.Q_Q
вашем случае использовать не рекомендуется.
у меня есть header, как наложить цвет именно на картинку в фоне?
Здравствуйте? Каким методом реализуется подобное? При наведении должна появляться стрелка в виде треугольника как на скриншоте?
как убрать блоки линий за серый фон снизу, если этот фон для них родитель, а блоки с отрицательным margin? Пробовал z-index, не получаетсяТ
Если я хочу вызвать функцию из прототипа массивов, например forEach, для коллекции, допустим NodeList, то какой вариант лучше избрать?