Java 单击应用程序崩溃时将微调器元素添加到listview(android)
因此,我是android/java编程的初学者,我正在尝试做以下工作:当我单击按钮时,从微调器中选择的项目应该出现在列表视图中。到目前为止,eclipse没有显示任何错误或警告,但当我尝试启动它时,我的应用程序崩溃:Java 单击应用程序崩溃时将微调器元素添加到listview(android),java,android,android-layout,android-listview,android-spinner,Java,Android,Android Layout,Android Listview,Android Spinner,因此,我是android/java编程的初学者,我正在尝试做以下工作:当我单击按钮时,从微调器中选择的项目应该出现在列表视图中。到目前为止,eclipse没有显示任何错误或警告,但当我尝试启动它时,我的应用程序崩溃: public class MainActivity extends ActionBarActivity { Button button3; Button button2; Button button4; ListView listView1;
public class MainActivity extends ActionBarActivity {
Button button3;
Button button2;
Button button4;
ListView listView1;
Spinner s1;
String text;
ArrayAdapter<String> adapter;
ArrayList<String> list;
int itemPos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
button2 = (Button) findViewById(R.id.button2);
s1 = (Spinner) findViewById(R.id.spinner1);
listView1 = (ListView) findViewById(R.id.listView1);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice, list); //this part here might not be correct
listView1.setAdapter(adapter);
button3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String text = s1.getSelectedItem().toString();
adapter.add(text);
}});
listView1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
itemPos = position;
}
});}}
我不明白它为什么会崩溃,如何修复
谢谢大家! 宣布
ArrayList<String> list = new ArrayList<String>();
让我们看看这是不是问题。谢谢!它解决了我的问题!基本上,当我单击按钮时,如何从listview中删除所选项目?thankslist.removetext;应该有用。但别忘了调用adapter.notifyDataSetChanged;。
button3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String text = s1.getSelectedItem().toString();
list.add(text);
// To notify adapter after that changes in data
adapter.notifyDataSetChanged();
}
});