我想编辑我的 ListView
项目。例如;我有一个 listView
项目 我点击了这个项目,然后我添加了 string value
和 edit text
然后我再次点击这个项目并添加了新的 string value
与之前的 string value
并排,再次,再次,再次。当我单击此项目时,我想编辑此列表项。我该怎么做?
Java 源代码:
public class MainActivity extends Activity {
TextView tvDers;
EditText etDers, etDersSaati;
EditText etNot;
LinearLayout LayoutDers;
ArrayAdapter<String> adapter;
ListView list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnDersEkle = (Button) findViewById(R.id.btnDersEkle);
list = (ListView) findViewById(R.id.listView1);
adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1);
etDers = new EditText(MainActivity.this);
//Dialog
AlertDialog.Builder build = new AlertDialog.Builder(MainActivity.this);
build.setTitle("Ders Ekle");
build.setView(etDers);
build.setPositiveButton("Tamam", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
adapter.add(etDers.getText().toString());
}
});
list.setAdapter(adapter);
final AlertDialog alertDers = build.create();
btnDersEkle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
alertDers.show();
}
});
}
}
最佳答案
在订购集合中保存项目值。在适配器中设置此集合。添加和删除此值,然后为适配器调用 notifyDataSetChanged
。
这样试试。
listView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
String item = (String) parent.getItemAtPosition(int position);
item += "YourText";
ArrayAdapter adapter = (ArrayAdapter ) parent.getAdapter();
adapter.insert(item, position);
}
抱歉,现在我无法测试这段代码。所以我不能肯定地说它是正确的。尝试不同的变体,你会得到。
更新 从对话框 clickListener 你可以试试这个:
@Override
public void onClick(DialogInterface dialog, int which) {
ArrayAdapter adapter = (ArrayAdapter ) listView.getAdapter();
String item = (String) listView.getSelectedItem();
item += "YourText";
adapter.insert(item, position);
}
关于java - 可编辑的 ListView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29808446/