Вопрос

Я пытаюсь выяснить, есть ли способ позвонить «отправить», сделанный в CreatenewSubmitButton (); в Oncreate (); функция?

Поэтому я хочу отправить значение в EditText на TextView, когда вы нажимаете значение отправки кнопки, поэтому я установил там OnClick, но я не мог позвонить в отправку в Oncreate?

Смотрите мой пример кода, чтобы понять, что я имею в виду:

package com.lars.myApp;

import com.lars.myApp.R;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.view.View;
import android.view.View.OnClickListener;

public class myAppActivity extends Activity {

    int currentValue =  0;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final EditText valueOne = (EditText) findViewById(R.id.valueOne);
        Button addOne = (Button) findViewById(R.id.addOne);
        Button minusOne = (Button) findViewById(R.id.minusOne);

        Button addButton = (Button) findViewById(R.id.add);
        final TableLayout tableLayout1 = (TableLayout) findViewById(R.id.tableLayout1);

        TextView textView = new TextView(this);
        textView.setText("New text");

        addOne.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                addValue();
                valueOne.setText("" + currentValue);
            }
        });

        minusOne.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                minusValue();
                valueOne.setText("" + currentValue);
            }
        });

        addButton.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                tableLayout1.addView(createNewRow());
            }
        });


        // I OUTCOMMENTED THIS, BECAUSE IT DIDN'T WORK, submitValue: "CANNOT BE RESOLVED"

        /*submitValue.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                tableLayout1.addView(createNewTextView(newValue.getText().toString()));
            }

        });*/

    }

    public TableRow createNewRow() {
        final TableRow newRow = new TableRow(this);
        newRow.addView(createNewContainer());
        return newRow;
    }

    public LinearLayout createNewContainer(){
        final LinearLayout newContainer = new LinearLayout(this);
        newContainer.addView(createNewEditableText());
        newContainer.addView(createNewSubmitButton());
        return newContainer;
    }    
    public EditText createNewEditableText() {
        final EditText newValue = new EditText(this);
        newValue.setHint("New");
        return newValue;
    }

    public Button createNewSubmitButton(){
        final Button submitValue = new Button(this);
        submitValue.setText("Submit");
        return submitValue;
    }

    public TextView createNewTextView(String text) {
        final TextView textView = new TextView(this);
        textView.setText(text);
        return textView;
    }

    public void addValue(){
        if(currentValue <= 999){
        currentValue = currentValue + 1;
        }
    }  

    public void minusValue(){
        if(currentValue >= 1){
            currentValue = currentValue - 1;
        }
    }  
}

Я надеюсь, что кто-то может мне помочь

Это было полезно?

Решение

На самом деле, вы не можете назвать то, что еще не создано, по вашему мнению.

Тем не менее, у вас есть 2 варианта:

A - Создайте его в вашем onCreate(...) Но добавьте его позже к вашему взгляду

B- Создайте его, добавьте, но используйте параметр FOLOUNE:

sibmitButton.setVisibility(View.GONE);

Что классно с этим я, что вы можете добавить кнопку, играть с ней (программно), но пользователь не может ее коснуться! Это даже не занимает «пространство» на ваш взгляд!

И при необходимости просто используйте:

sibmutButton.setVisibility(View.VISIBLE);

Это то, что ты хочешь?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top