2015-01-08 2 views
0

Я пытаюсь добавить spinner в мою регистрационную форму для CSipSimple. но у меня ошибка на нескольких строках. первых я имею ошибку впроблема с добавлением Spinner в CSipSimple

accountUserName = (Spinner) findViewById ("имя пользователя");

findViewById не определено. Во-вторых, в

ArrayAdapter DataAdapter = новый ArrayAdapter (это, R.layout.spinner_item, список);

, что конструктор ArrayAdapter не определен. этот код работал нормально в программе saperate, но когда я попытался поместить этот код в файл CSipsimple Basic.java, он показал эти две ошибки. может кто-нибудь, пожалуйста, помогите мне?

public class Basic extends BaseImplementation { 
protected static final String THIS_FILE = "Basic W";  

InputStream is=null; 
String result=null; 
String line=null; 
JSONObject json = null; 

private Spinner accountUserName; 
private EditTextPreference accountDisplayName; 
//private EditTextPreference accountUserName; 
private EditTextPreference accountServer; 
private EditTextPreference accountPassword; 

private void bindFields() { 
accountDisplayName = (EditTextPreference) findPreference("display_name"); 
accountUserName = (Spinner) findViewById("username"); 
accountServer = (EditTextPreference) findPreference("server"); 
accountPassword = (EditTextPreference) findPreference("password"); 
} 

public void fillLayout(final SipProfile account) { 
bindFields(); 

accountDisplayName.setText(account.display_name); 

//fetching values fro mysql database 

String serverFull = account.reg_uri; 
if (serverFull == null) { 
serverFull = ""; 
}else { 
serverFull = serverFull.replaceFirst("sip:", ""); 
} 

ParsedSipContactInfos parsedInfo = SipUri.parseSipContact(account.acc_id); 
//accountUserName.setText(parsedInfo.userName); 

try 
{ 

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://192.168.xx.xxx/conIds.php"); 

HttpResponse response = httpclient.execute(httppost); 
HttpEntity entity = response.getEntity(); 
is = entity.getContent(); 

Log.e("Pass 1", "connection success "); 
} 
catch(Exception e) 
{ 
Log.e("Fail 1", e.toString()); 
Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_LONG).show(); 
} 

try 
{ 
BufferedReader reader = new BufferedReader 
(new InputStreamReader(is,"iso-8859-1"),8); 
StringBuilder sb = new StringBuilder(); 

while ((line = reader.readLine()) != null) 
{ 
sb.append(line + "\n"); 
} 

is.close(); 
result = sb.toString(); 

System.out.println(result); 
Log.e("Pass 2", "connection success "); 
} 
catch(Exception e) 
{ 
Log.e("Fail 2", e.toString()); 
} 
// 
try 
{ 
JSONArray NJA=new JSONArray(result); 
String arr=NJA.getString(1); 
Log.d("My arry", ""+arr); 
JSONArray JA=new JSONArray(arr); 

final String[] str2 = new String[JA.length()]; 
for(int i=0;i<JA.length();i++) 
{ 

str2[i] = JA.getString(i); 
} 

List<String> list = new ArrayList<String>(); 

for(int i=0;i<str2.length;i++) 
{ 
list.add(str2[i]); 

} 

Collections.sort(list); 

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item, list); 
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
accountUserName.setAdapter(dataAdapter); 

accountUserName.setOnItemSelectedListener(new OnItemSelectedListener() 
{ 
public void onItemSelected(AdapterView<?> arg0, View arg1,int position, long id) 
{ 
// TODO Auto-generated method stub 

String Item=accountUserName.getSelectedItem().toString(); 

Toast.makeText(getApplicationContext(), Item,Toast.LENGTH_LONG).show(); 

} 

public void onNothingSelected(AdapterView<?> arg0) 
{ 
// TODO Auto-generated method stub 
} 
}); 
} 
catch(Exception e) 
{ 

Log.e("Fail 3", e.toString()); 
} 

accountServer.setText(serverFull); 
accountPassword.setText(account.data); 
} 
+0

Вы забываете макеты. – kelvincer

+0

, пожалуйста, объясните немного больше. – Yasir

+0

Сначала определите, что вы видите с числовым идентификатором. Измените это findViewById («имя пользователя») – kelvincer

ответ

0

Вы импортировали android.app.Activity (в котором findViewById(int) определяется) и android.widget.ArrayAdapter?

+0

android.widget.ArrayAdapter добавлен, но ошибка все еще существует, и даже после добавления «android.app.Activity» «findViewById является подчеркиванием. и я думаю, что ошибка связана с ключевым словом «this», я попытался заменить его именем класса, но он все еще вызывает ошибку. – Yasir

+0

и 'ClassName.class'? –

Смежные вопросы