2017-02-27 342 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

它必須採用UserInput並將其複製到字符串。然後,當你點擊粘貼按鈕時,它應該在TextView中設置文本。我不知道是否複製功能或粘貼功能不起作用? – LeGraa

+1

carlpoole的回答是正確的,請參考。 – SanVed

回答

2

的問題是,您聲明userinputonCreate()並使其final,它阻止你以後編輯它。同樣在CopyButtonclick listener中,您正在爲userinput創建一個新的局部變量,其範圍僅限於該偵聽器。

移動String userinput = new String();onCreate(),消除final,並更改CopyButton聽者行至

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

謝謝!這工作:) – LeGraa

0

你不應該定義你CopyButton.setOnClickListener裏面你userinput變量。將其定義爲您的監聽器外部的類或實例變量,以便您的PasteButton.setOnClickListener應該可以看到它。像這樣:

String userinput; 

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); 

    CopyButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Log.d(TAG, "The button Copy was pressed"); 
      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

感謝您的快速反饋:D – LeGraa