java - 可编辑的 ListView 项目

标签 java android android-listview

我想编辑我的 ListView 项目。例如;我有一个 listView 项目 我点击了这个项目,然后我添加了 string valueedit 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/

相关文章:

java - Selenium:将 WebElement 添加到列表中,然后检查所有元素的可见性

java - Cassandra 0.7.4 - 使用 Java,如何为请求关联键空间?

java - 我如何正确地做多个闪屏android

android - android中是否有任何等效关键字,如VB6中的 "with"

android - 将 Listview 嵌入到 Android 的首选项中

java - Android 从 JSON 数组添加 ListView 项目

java - 如何使用扫描器类获取 String 变量的正确输入?

java - 定义的参数评估顺序导致次优代码?

java - 当访问分配的私有(private)变量时,它们返回0

java - 计算位置和位置列表之间的距离