2012-11-27 80 views
0

我有以下在Eclipse上運行的MainActivity.java文件。閱讀文本值和微調器值

我的意圖是獲取用戶輸入和微調值並形成一個像www.ex.com?title=(user_inpu)&title_type=(spinner_input)這樣的URL。

截至目前,我掛在這一部分。如何從EditText和Spinner獲取文本值?

我曾嘗試編寫這些代碼:

package com.example.myfirstapp; 

import org.apache.commons.logging.Log; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Spinner; 

public class MainActivity extends Activity { 

Button btn; 
EditText edit; 

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

    btn = (Button) findViewById(R.id.button); 
    edit = (EditText) findViewById(R.id.edit_message); 

    btn.setOnClickListener(
      new View.OnClickListener() 
      { 
       public void onClick(View view) 
       { 
        Log.v("EditText", edit.getText().toString()); 
       } 
      }); 


Spinner spinner = (Spinner) findViewById(R.id.spinner); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.title_type,android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter); 

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { 
     Object item = parent.getItemAtPosition(pos); 
    } 
    public void onNothingSelected(AdapterView<?> parent) { 
    } 
}); 

} 


} 

我得到一個小錯誤:

The method v(string, String) is undefined for MainActivity.java.

我曾嘗試更換Log.v("EditText", edit.getText().toString());Log.v("EditText", MainActivity.this.edit.getText().toString());,但錯誤依然存在。

我該如何擺脫?一般來說,這個代碼能工作嗎?

回答

3

你沒有輸入正確的Log類。

只需更換

import org.apache.commons.logging.Log; 

通過

import android.util.Log; 

而且你可能想使你spinner活動(就像按鈕和文本字段)的成員,這樣就可以訪問它來自任何聽衆。

我的意思是:

public class MainActivity extends Activity { 

    private Button btn; 
    private EditText edit; 
    private Spinner spinner; 

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

     btn = (Button) findViewById(R.id.button); 
     edit = (EditText) findViewById(R.id.edit_message); 
     spinner = (Spinner) findViewById(R.id.spinner); 

     btn.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       Log.v("EditText", edit.getText().toString()); 
       Log.v("Spinner", spinner.getSelectedItem().toString()); 
      } 
     }); 

     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.title_type, android.R.layout.simple_spinner_item); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spinner.setAdapter(adapter); 
    } 
} 
+0

是。我知道了。事實上,在你回答之前幾秒鐘。:-)通過說讓微調成爲活動的一員,我想我需要在btn.setOnCLickListener()中插入微調代碼。 – PSN

+0

我的LogCat不顯示文本輸入的微調值。它說意想不到的價值..我應該在哪裏檢查輸出? – PSN

+0

@ fiddler..any suggestions ??? – PSN