Bir not uygulaması yapmaya çalışıyorum. Temel olarak, liste görünümündeki bir öğeyi tıklattığımda, öğenin adı düzenlenebilir olduğunda bu başka bir etkinliğe götürür. Metni düzenlediğimde ve eylem çubuğundaki geri düğmesini tıklattığımda, metin ana etkinlikte güncellenmelidir, ancak bu gerçekleşmez; ama android geri düğmesini kullandığımda (cihazdan biri) iyi çalışıyor. Burada Actionbar geri düğmesi gerektiği gibi çalışmıyor
kodumpublic 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);
}
});
}
ve burada ikinci bir etkinlik
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) {
}
} önceden
Teşekkür ..
gereklidir Sen işlemek zorunda ActionBar geri düğmesi, ikinci etkinliğinizde 'onOptionsItemSelected (MenuItem öğesi)' yi geçersiz kılarak. –
İkinci etkinliği oluşturduğumda, arkadaki düğmeyi ilk etkinliğe ayarlamak için hiyerarşi seçeneğini kullandım. –