1
목록보기를 만들고 해당 라디오 버튼의 텍스트를 하위 항목으로 표시하려고합니다. Arraylist로 테스트하고 간단한 어댑터를 사용하지 마십시오. 지금 당장은 내 관심사가 아니라 NullPointerException을 보여주는 ListView의 click 이벤트입니다. 이전 게시물 몇 개를 언급했지만 도움이되지 않았습니다. 나에게 오류를 식별하고 무엇을 유발 도움 요청null 포인터 ListView의 항목을 선택하는 중 예외가 발생했습니다.
WForecast.java
public class WForecastHome extends Activity {
ListView list;
Button search;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.weatherforecast_home);
search = (Button)findViewById(R.id.BTSearch);
list = (ListView) findViewById(R.id.listView1);
String[] s = new String[]{"Temparature format",
"Update interval"};
search.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
ArrayAdapter<String> aa = new ArrayAdapter<String> (WForecastHome.this, android.R.layout.simple_expandable_list_item_1 , s);
list.setAdapter(aa);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Dialog dialog = new Dialog(WForecastHome.this);
dialog.setTitle("Select temprature format");
dialog.setContentView(R.layout.dialog);
dialog.show();
RadioGroup rg = (RadioGroup) findViewById(R.id.radioGroup1);
final RadioButton celcius = (RadioButton) findViewById(R.id.celcius);
final RadioButton fahrenheit = (RadioButton) findViewById(R.id.fahrenheit);
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
switch(checkedId)
{
case R.id.celcius :
celcius.getText();
break;
case R.id.fahrenheit :
fahrenheit.getText();
}
}
});
}
});
}
}
로그 캣 오류
01-20 22:16:17.648: D/ddm-heap(333): Got feature list request
01-20 22:16:17.788: W/ResourceType(333): Skipping entry 0x7f020000 in package table 0 because it is not complex!
01-20 22:16:21.528: W/ResourceType(333): Skipping entry 0x7f020000 in package table 0 because it is not complex!
01-20 22:16:23.208: D/AndroidRuntime(333): Shutting down VM
01-20 22:16:23.208: W/dalvikvm(333): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
01-20 22:16:23.208: E/AndroidRuntime(333): Uncaught handler: thread main exiting due to uncaught exception
01-20 22:16:23.218: E/AndroidRuntime(333): java.lang.NullPointerException
01-20 22:16:23.218: E/AndroidRuntime(333): at com.nsa.WForecastHome$2.onItemClick(WForecastHome.java:61)
01-20 22:16:23.218: E/AndroidRuntime(333): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
01-20 22:16:23.218: E/AndroidRuntime(333): at android.widget.ListView.performItemClick(ListView.java:3246)
01-20 22:16:23.218: E/AndroidRuntime(333): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1635)
. 감사합니다. 내 생각
이 오류가 발생입니까 ?? 그렇다면 어떻게? 죄송합니다, 논리를 얻지 못했습니다. – Saggy
@Saggy는 dialog.xml을 보여줍니다. dialog.xml에 라디오 버튼이 있다면 내 게시물에 제안 된대로 초기화해야합니다. 당신이 얻지 못하는 논리는 무엇입니까? 그것의 NUllPointerExcpetion은 61 행의 어떤 것이 null임을 가리킨다. 코드에서 라인 61은 무엇입니까 – Raghunandan
예 dialog.xml에는 radiobutton을 포함한 모든 뷰가 있습니다. 내가 얻지 못한 점은 우리가 dialog.findViewById (R.id.radioGroup1)에 "dialog"를 추가해야하는 이유입니다. 그리고 더. 나는이 방법을 더 일찍 사용하지 않았고 모든 프로그램이 효과가있다. 힘든 일이 여기에 내 문제를 해결. – Saggy