2017-11-10 14 views
-2

画像をクリック可能にして、クリックしたときにテキストビューに送信された前の結果を編集するテキストを入力するように指示するので、編集ボタンのようなものですそれはイメージです。私はonclickableに設定された画像を持っており、現在はトーストメッセージを表示しています(テスト目的のためだけです)。画像編集テキストを作成する

MainAccessivityコードからDisplayActivity textViewsが現在のデータを取得しています。トーストは、あなただけにOnclickにあなたがした後、前のTextViewとをロードすることができますあなたがいないのTextViewを使用して、テキストを編集したいがEditText命令を入れて動作している場合

public class DisplayActivity extends AppCompatActivity { 
    TextView textView; 


    ImageView imageView; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_display); 

     final Intent intent = getIntent(); 

     final User user = (User) intent.getSerializableExtra("NAME"); 

     textView = findViewById(R.id.textViewName); 
     textView.setText(user.getName().toString()); 



     imageView = findViewById(R.id.imageViewName); 
     imageView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Toast.makeText(DisplayActivity.this, "Edit name", Toast.LENGTH_SHORT).show(); 
      } 
     }); 

    } 
} 
+0

本当にここで不要なコードを切り取る必要があります[MCVE] –

+0

done yvette colomb –

+3

あなたは実際に何を求めていますか?疑問はない –

答えて

0

は、私には本当に簡単に見えます編集、公式サイトからこのアンドロイド研修もそれを

を行う方法について説明し、いくつかの他の post

あり

あなたのEditText説明について better overviewを与える必要があります
1

私はどのようにあなたができることを示す例をさせていただきたいと思いユーザー名を更新します。同様に他の情報も更新できます。

は、ユーザーが画像をクリックすると、ユーザーの入力を受け入れるEditTextを持つダイアログを表示:

// change the onClick function in your onCreate method 
    imageView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        showDialog(); 
       } 
      }); 

    // add a new method to your Activity 
    public void showDialog(){ 
     AlertDialog.Builder alert = new AlertDialog.Builder(this); 
     final EditText edittext = new EditText(this); 
     //maybe show the username in the edittext, thanks to Thats Enam 
     edittext.setText(textView.getText()); 
     alert.setMessage("Update your username"); 
     alert.setTitle("Enter Your Title"); 

     alert.setView(edittext); 

     alert.setPositiveButton("Yes Option", new DialogInterface.OnClickListener() { 

      public void onClick(DialogInterface dialog, int whichButton) { 
       // Get he user input here 
       String YouEditTextValue = edittext.getText().toString(); 
       // update the user name 
       textView.setText(YouEditTextValue); 
      } 
     }); 

     alert.setNegativeButton("No Option", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int whichButton) { 
       // whatever you want to do with No option. 
      } 
     }); 
    } 

はリファレンス:https://stackoverflow.com/a/29048271/1297670

0

私はあなたの本当の問題が何であるかわからないが、これは何ですか私はあなたが次にあなたのonCreate内のコード内で、あなたはこのような何かを行うことができます

<EditText 
    android:id="@+id/edittxt" 
    android:layout_width="100dp" 
    android:inputType="none" 
    android:hint="enter name" 
    android:layout_height="wrap_content" 
    android:background="@color/transparent"/> 

      <TextView 
       android:id="@+id/editbtn" 
       android:layout_width="100dp" 
       android:text="Edit"   
       android:layout_height="80dp" /> 

をしたいかもしれません理解:

TextView editbtn; 
EditText edittxt; 

final editbtn = (TextView) findViewById(R.id.editbtn); 
edittxt = (EditText) findViewById(R.id.edittxt); 

     edittxt.clearFocus(); 
     edittxt.setFocusable(false); 

editbtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       edittxt.setFocusable(true); 
      } 
     }); 

あなたはそこから取得する必要があります!

関連する問題