I'm working on an exercise and I am stock right now. I have to Copy the Userinput and then Paste the String created. Can anyone help me?
This is my code:
public class CopyPasteActivity extends AppCompatActivity {
private Button CopyButton;
private Button PasteButton;
private EditText UserInput;
private TextView PasteText;
private final static String TAG = "CopyPasteActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_copy_paste);
CopyButton = (Button) findViewById(R.id.copy_button);
PasteButton = (Button) findViewById(R.id.paste_button);
UserInput = (EditText) findViewById(R.id.user_input);
PasteText = (TextView) findViewById(R.id.paste_text);
final String userinput = new String();
CopyButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "The button Copy was pressed");
String userinput = UserInput.getText().toString();
}
});
PasteButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "The button True was pressed");
PasteText.setText(userinput);
}
});
}
}
The problem is that you are declaring userinput
inside onCreate()
and making it final
, which prevents you from editing it later. Also inside the CopyButton
click listener
you are creating a new local variable for userinput
whose scope is limited to that listener only.
Move String userinput = new String();
outside of onCreate()
, removing final
, and change the line in the CopyButton
listener to
userinput = UserInput.getText().toString();