2015-01-21 98 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);