2016-11-19 33 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

相关问题