0
我嘗試,如果我碰到列表視圖 如果我不加入onClickListener一切正常 Java創建沒有運氣 一個簡單的應用程序,我只是想瓶坯一些行動:onClickListener couses崩潰與TextView的
ListView myListView = (ListView)findViewById(R.id.listViewOptions);
final ArrayList<String> optionsArray = new ArrayList<String>();
final ArrayAdapter<String> arrayAdapter;
arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,optionsArray);
for(int i =1 ; i < 3 ; i++)
{
optionsArray.add("1");
arrayAdapter.notifyDataSetChanged();
}
myListView.setAdapter(arrayAdapter);
myListView.setClickable(true);
myListView.setFocusable(true);
OnClickListener onClickListener = new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
};
myListView.setOnClickListener(onClickListener);
XML:
<ListView android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_weight="1"
android:id="@+id/listViewOptions"
android:clickable="true">
</ListView>
感謝
日誌:
E/AndroidRuntime( 232): Caused by: java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
E/AndroidRuntime( 232): at android.widget.AdapterView.setOnClickListener(AdapterView.java:750)
E/AndroidRuntime( 232): at com.resume.Resume.onCreate(Resume.java:52)
E/AndroidRuntime( 232): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
E/AndroidRuntime( 232): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
E/AndroidRuntime( 232): ... 11 more
I/Process ( 52): Sending signal. PID: 232 SIG: 3
I/dalvikvm( 232): threadid=7: reacting to signal 3
E/dalvikvm( 232): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
W/ActivityManager( 52): Launch timeout has expired, giving up wake lock!
W/ActivityManager( 52): Activity idle timeout for HistoryRecord{439114c0 com.resume/.Resume}
你能告訴我們是什麼原因導致異常?看看LogCat。 – Jems 2011-01-25 17:04:41
另外,真的沒有理由多次調用notifyDataSetChanged()。首先填充你的optionsArray,然後分配ArrayAdapter。 – kcoppock 2011-01-25 17:07:00