2016-11-19 40 views
-2

我需要在列表視圖來代替 「黃金」如何更換ListView中的文本

AndroidListView1 = 「黃金」> 「goldennnnnnn」 AndroidListView2 = 「黃金」> 「golderrrrrrrrr」

當我設置編輯文本然後它的工作!但當我設置它列表視圖然後打印只有1項(「goldennnnnnn」)## this.et3.setText(AndroidListView); (EditText上工作)this.Listview.setText(AndroidListView1);不工作

這是我的代碼提前感謝

ListView listView ; 
EditText myTextBox,myOuttext,et3; 
Button btn; 

ClipboardManager myClipboard; 
private Object adapter; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    myTextBox = (EditText) findViewById(R.id.editText1); 
    myOuttext = (EditText) findViewById(R.id.editText2); 
    et3=(EditText)findViewById(R.id.editText3); 
    btn=(Button)findViewById(R.id.button1); 
    myClipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE); 


    // Get ListView object from xml 
    listView = (ListView) findViewById(R.id.listView1); 

    // Defined Array values to show in ListView 
    String[] values = new String[] 
      { "AndroidListView1", 
      "AndroidListView2", 
      "AndroidListView3", 
      "AndroidListView4", 
      "AndroidListView5", 
      "AndroidListView6", 
      "AndroidListView7", 
      "AndroidListView8", 
      "AndroidListView9", 
      "AndroidListView10", 
      "AndroidListView11", 
      "AndroidListView12", 
      "AndroidListView13", 
      "AndroidListView14", 
      "AndroidListView15", 
      "AndroidListView16", 
      "AndroidListView17", 

            }; 

    // Define a new Adapter 
    // First parameter - Context 
    // Second parameter - Layout for the row 
    // Third parameter - ID of the TextView to which the data is written 
    // Forth - the Array of data 
    ArrayList<?> yourlist = new ArrayList<Object>(); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_list_item_1, android.R.id.text1, values); 
    listView.setAdapter(adapter); 

    // Assign adapter to ListView 
    listView.setAdapter(new ArrayAdapter<String>(MainActivity.this, 
      android.R.layout.simple_list_item_1, values)); 

    // ListView Item Click Listener 
    listView.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 

      // ListView Clicked item index 
      int itemPosition  = position; 

      // ListView Clicked item value 
      String itemValue = (String) listView.getItemAtPosition(position); 

      // Show Alert 
      Toast.makeText(getApplicationContext(), 
       "Position :"+itemPosition+" ListItem : " +itemValue , Toast.LENGTH_LONG) 
       .show(); 

      } 

     }); 
    myTextBox.addTextChangedListener(new TextWatcher() { 

      public void afterTextChanged(Editable s) { 
      } 

      public void beforeTextChanged(CharSequence s, int start, 
      int count, int after) { 
      } 

      @SuppressLint("NewApi") 
     public void onTextChanged(CharSequence s, int start, 
      int before, int count) { 

       MainActivity.this.my1(s); 
       MainActivity.this.AndroidListView(s); 
      } 
      }); 

} 
private String my1(CharSequence arg) { 

     String str = ""; 
     str = arg.toString().replace(" ", " ").replace("gold", "goldennnnnnn"); 
     this.myOuttext.setText(str); 
      System.out.println(str); 
     return str; 
    } 
     private String AndroidListView(CharSequence arg) { 

    String AndroidListView = ""; 
    AndroidListView= arg.toString().replace(" ", "").replace("gold", "golderrrrrrrrr"); 
    this.et3.setText(AndroidListView); 
     System.out.println(AndroidListView); 
    return AndroidListView; 
} 

}

回答

2

試試這個代碼在特定位置更改列表查看項目:

ArrayList<?> yourlist = new ArrayList<Object>(); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, android.R.id.text1, values); 
listView.setAdapter(adapter); 

//listView.setAdapter(new ArrayAdapter<String>(MainActivity.this, 
//   android.R.layout.simple_list_item_1, values)); 



values[3] = "myNewItem"; 
adapter.notifyDataSetChanged(); 
上面的代碼

的迴應是: Code_Response

編輯:要搜索一個特定的項目,並改變:**

for(int i =0; i<values.length; i++){ 
     if(values[i].equals("myNewItem")){ 
      values[i] = "A_Newer_One"; 
     } 
} 
adapter.notifyDataSetChanged(); 

New_Image

+0

**感謝您回信答覆非常有幫助,我試試。我的80%編碼現在complite.but但我不能取代**值[3] =「myNewItem」; ** **「黃金」>「goldennnnnnn」** **值[4] =「黃金」>「golderrrrrrrrr」** – user1992

+0

我沒有得到您的問題。你能更清楚地知道你在應用中需要什麼嗎? @marathapatil – Swr7der

+0

我還沒有得到。只要發佈你現在面臨的問題?文字沒有改變,因爲你想或其他東西? @marathapatil – Swr7der

相關問題