2013-08-07 42 views
0

我想通過ListView設置EditText的文本。一旦用戶從ListView中選擇一個產品,它就會返回到保存EditText的活動,並更改EditText中的文本。EditText設置數據不工作

我對Android和Java相對來說比較新,所以請原諒我是絕對的結點。

清單的Java:

 final ListView listViewCPU = (ListView) findViewById(R.id.listViewCPU); 
    listViewCPU.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

    String CPUList[] = { 

    "Products go here", "Products go here", "Products go here", "Products go here", "Products go here", "Products go here" }; 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, CPUList); 

    listViewCPU.setAdapter(adapter); 

    listViewCPU.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> listview, View myView, 
       int pos, long mylng) { 
      String CPU = (String) listview.getAdapter().getItem(pos); 

      Intent i = new Intent(getApplicationContext(), ListmenuActivity.class); 
      i.putExtra(" ", CPU); 
      startActivity(i); 

     } 
    }); 

} 
} 

EditText上的Java: 我收到的 「EditText4」 錯誤界定 「令牌語法錯誤 」EditText4「,刪除此令牌」

 EditText CPU = (EditText) findViewById(R.id.autoCompleteTextView4); 
    CPU.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Intent CPUList = new Intent(getApplicationContext(), 
        CPUList.class); 
      startActivityForResult(CPUList, 0); 
     } 

     Intent i = getIntent(); 
     String product = i.getStringExtra(" "); 
     EditText CPU = ((EditText)findViewById(R.id.EditText4)); 
     EditText4.setText(getIntent(i).getStringExtra("")); 

    }); 
+0

我仍然得到錯誤,當我使用不EditText4 「CPU」而不是「EditText4」 – Jack

+0

應該在edittex實例上調用setText。哦,它已經回答了。檢查第一個解決方案 – VenoM

回答

0

你這樣設置

@Override 
    public void onItemClick(AdapterView<?> listview, View myView, 
      int pos, long mylng) { 
     String CPU = (String) listview.getAdapter().getItem(pos); 

     Intent i = new Intent(getApplicationContext(), ListmenuActivity.class); 
     i.putExtra("key", CPU); 
     startActivity(i); 

    } 
}); 

得到這樣的

Intent i = getIntent(); 
    String product = i.getStringExtra("key"); 
    EditText CPU = ((EditText)findViewById(R.id.EditText4)); 
    CPU.setText(product); 
+0

當使用此代碼時,我以前得到的錯誤現在已消失,但我得到錯誤「在這條線的多個標誌 \t - 令牌語法錯誤‘產品’,VariableDeclaratorId預期後 \t此令牌 \t - 令牌(S),錯位結構(一個或多個)語法錯誤」的「產品」和「 「。在CPU和setText之間 – Jack

+0

因爲您正在設置編輯文本的值,所以這是原因。因此,您需要設置Edi文本(CPU)的引用值,請參閱我的底部代碼。 –

+0

當我設置EditText的值就像你已經給我顯示「CPU.setText(product);」我仍然得到錯誤。 – Jack

0
EditText CPU = ((EditText)findViewById(R.id.EditText4)); 

你在這條線上分號:)

+0

當我將代碼粘貼到這裏的問題框時,我想我可能會意外刪除它:) – Jack

1

值應爲CPU.setText因爲你不是真的有定義(只要我能看見)