2015-01-21 76 views
-1

好吧,现在我已经尽我所能,我拧了。我如何使它能够点击列表中的每个项目并编辑其中的文本?现在我已经硬编码列表中的2个项目,当我点击他们时,我希望能够编辑和添加内容。 我不知道该怎么做。 请帮帮我!单击项目ArrayAdapter

我notelist类

package se.felix.anteckningsblock; 

import android.app.ListActivity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.SimpleAdapter; 
import android.widget.TextView; 
import android.widget.Toast; 

import java.util.ArrayList; 


public class Notelist extends ListActivity { 

    ArrayList<String> notes = new ArrayList<String>(); 
    ArrayAdapter<String> list; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 




      setContentView(R.layout.notelist); 

      notes.add("Handlingslista"); 
      notes.add("Kom Ihåg"); 

      ArrayAdapter<String> list = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, notes); 
      setListAdapter(list); 
      //adapter.notifyDataSetChanged(); // <---- use this to notify data change to update list!!!111oneoneoneleven 


      Button button = (Button) findViewById(R.id.New); 
      button.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        Intent i = new Intent(Notelist.this, anteckningsblock.class); 
        startActivity(i); 
       } 
      }); 

    } 
} 

我anteckningsblock类(这是我编辑我的笔记,并创建新的,但它并没有正常工作)

package se.felix.anteckningsblock; 

import android.content.ActivityNotFoundException; 
import android.content.Context; 
import android.content.Intent; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.inputmethod.InputMethodManager; 
import android.widget.Button; 
import android.view.View.OnClickListener; 
import android.app.Activity; 


public class anteckningsblock extends ActionBarActivity { 



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

    Button button = (Button)findViewById(R.id.GoBack); 
    button.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Intent i = new Intent(anteckningsblock.this, Notelist.class); 
      startActivity(i); 
     } 
    }); 

    } 

} 

如果你需要什么否则请告诉我,我会编辑。

回答

0

尝试使用EditText上,而不是textviews来填补你的ListView了

0

将这个阵列中的一个单独的类或使其静态 - (考虑采取的第一个选项)

ArrayList<String> notes = new ArrayList<String>(); 

现在在你的listActivity类别捕获已被点击的项目/或onListItemClick(ListView l, View v, int position, long id)方法的索引。然后使用意向的startactivity intent.putString()传递,并通过你的字符串

Intent i = new Intent(anteckningsblock.this, Notelist.class); 
i.putString("myarraypos",position); // the key is the name you use to retrieve.. 
startActivity(i); // i am passing the int of the array so we can edit it 

注意上面的代码应该是在onListItemClick功能上面

和编辑,并与旧的替换它,在静态的ArrayList

//assuming you are done editing 
Classname.notes.add(getintent().getStringExtra("myarraypos"),value); 

正确的代码,名称和代码

+0

我没有listActivity类,做我需要做一个新的类? – EatenMoth72 2015-01-21 10:06:27

+0

不,先生,我的意思是** Notelist.class **,但因为它扩展了ListActivity我只是把它称为listactivity类.. @ EatenMoth72 – Elltz 2015-01-21 10:41:51

0

我解决了这个问题。感谢@Elitz你为我在正确的轨道上:)

我只是把我这Notelist类中

@Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     Intent i = new Intent(Notelist.this, anteckningsblock.class); 
     startActivity(i);