2017-02-27 17 views
0

私は練習に取り組んでいます。私は現在在庫があります。 私はUserinputをコピーして、作成した文字列を貼り付けなければなりません。 誰でも助けてくれますか?コピーペーストuserinput

これは私のコードです:

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); 
      } 
     }); 
    } 
} 
+0

あなたは直面している正確な問題を説明できますか? – SanVed

+0

ユーザー入力を受け取り、文字列にコピーする必要があります。次に、貼り付けボタンをクリックすると、TextViewにテキストが設定されます。コピー機能かペースト機能が動作しないのか分かりませんか? – LeGraa

+1

carlpooleの答えは正しいです、それを参照してください。 – SanVed

答えて

2

問題は、後でそれを編集できないようにされ、あなたがonCreate()内部userinputを宣言し、それfinal作っているということです。 CopyButtonclick listenerの内部には、範囲がそのリスナーに限定されているuserinputの新しいローカル変数を作成しています。

移動String userinput = new String();onCreate()の外、finalを除去し、あなたのCopyButton.setOnClickListenerの内側にあなたのuserinput変数を定義するべきではありません

userinput = UserInput.getText().toString(); 
+1

感謝!!!それは働いた:) – LeGraa

0

CopyButtonリスナーの行を変更します。あなたのリスナの外にクラスまたはインスタンス変数として定義して、PasteButton.setOnClickListenerがそれを見られるようにします。このように:

+0

速いフィードバックのおかげで:D – LeGraa

関連する問題