私はメモアプリを作ろうとしています。基本的には、リストビューでアイテムをクリックすると、アイテムの名前が編集可能なときに別のアクティビティに移動します。テキストを編集してアクションバーの戻るボタンをクリックすると、テキストがメインアクティビティで更新されますが、これは起こりません。しかし、私はアンドロイドの戻るボタン(デバイスの1つ)を使用すると正常に動作します。ここアクションバーのバックボタンが必要に応じて機能しない
は私のコード
public class MainActivity extends AppCompatActivity {
ListView MemoContent ;
static ArrayList<String> MyArray ;
static ArrayAdapter MyAdapter ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
MemoContent = (ListView) findViewById(R.id.MemoContent) ;
MyArray = new ArrayList<>() ;
MyArray.add("Example Note") ;
MyAdapter = new ArrayAdapter(this , android.R.layout.simple_list_item_1 , MyArray);
MemoContent.setAdapter(MyAdapter);
MemoContent.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(getApplicationContext() , EditMemo.class) ;
i.putExtra("note" , position) ;
startActivity(i);
}
});
}
であり、ここで第二の活動である
public class EditMemo extends AppCompatActivity implements TextWatcher {
EditText editText ;
int id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_memo);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
editText = (EditText) findViewById(R.id.editText) ;
Intent j = getIntent() ;
id = j.getIntExtra("note" , -1) ;
if(id!=-1)
{
editText.setText(MainActivity.MyArray.get(id));
}
editText.addTextChangedListener(this);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
MainActivity.MyArray.set(id , String.valueOf(s)) ;
MainActivity.MyAdapter.notifyDataSetChanged();
}
@Override
public void afterTextChanged(Editable s) {
}
}
事前に感謝..
を必要とされているあなたが処理する必要があります2番目のアクティビティで 'onOptionsItemSelected(MenuItem item)'をオーバーライドしてActionBarの戻るボタンをクリックします。 –
私が2番目のアクティビティを作成したとき、私は階層オプションを使用して、戻るボタンを最初のアクティビティに設定しました。 –