gpt4 book ai didi

android - 如何在 Android 应用程序的 ListView 中添加项目?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:38 24 4
gpt4 key购买 nike

我是 android 的新手,被要求为 android 开发一个应用程序。我正在研究 Android 2.2。我遇到的问题是,在我单击基本教程中的“添加”按钮后,客户端的名称应该会出现,但它不会那样工作。单击按钮后,名称未显示在 ListView 中。

代码如下:

public class MainActivity extends Activity implements OnClickListener,       
OnKeyListener {

ArrayList<String> appointment;
ArrayAdapter<String> aa;

EditText editText1;
Button addButton;
ListView listView1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

editText1 = (EditText)findViewById(R.id.editText1);
addButton = (Button)findViewById(R.id.addButton);
listView1 = (ListView)findViewById(R.id.listView1);

addButton.setOnClickListener(this);
editText1.setOnKeyListener(this);

appointment = new ArrayList<String>();
aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
appointment);
listView1.setAdapter(aa);

}

private void addItems(String item){

if (item.length()>0){
this.appointment.add(item);
this.aa.notifyDataSetChanged();
this.editText1.setText("");
}

}

public void onClick(View v) {

if(v==this.addButton){
this.addItems(this.editText1.getText().toString());
}

}



public boolean onKey(View v, int keyCode, KeyEvent event) {

if (event.getAction()==KeyEvent.ACTION_DOWN &&
keyCode==KeyEvent.KEYCODE_DPAD_CENTER)
this.addItems(this. editText1.getText().toString());

return false;
}


}

主.xml:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:weightSum="1">

<ImageView

android:id="@+id/phones_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/user"
android:layout_margin="20dp"
/>

<Button
android:text="Add New Appoinments"
android:id="@+id/addButton"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:typeface="sans"
></Button>

<EditText android:id="@+id/editText1" android:layout_height="wrap_content"
android:layout_width="match_parent" android:inputType="textPersonName">
<requestFocus></requestFocus>
</EditText>

<ListView android:id="@+id/listView1" android:layout_width="wrap_content"
android:layout_height="252dp"></ListView>

</LinearLayout>
</ScrollView>

请指导我。提前致谢

最佳答案

您不需要保留 ArrayList 和 ArrayAdapter

ArrayAdapter 实际上会在其中保存字符串列表。

摆脱你的 ArrayList 并改变这一行

this.appointment.add(item);

this.aa.add(item);

你应该可以开始了。

我也对您为什么使用所有变量的完全限定名称感兴趣。我确实明白,有时您的各种类的范围将使得有必要使用“this”。在事物面前,但从你的例子来看,在我看来,没有“这个”你会没事的。

这只是您在阅读代码时为了清晰起见而做的事情,还是有其他用途?

编辑: @Selvin 完全搞定了这个,如果他们发布了答案,请接受他们的答案而不是我的。

关于android - 如何在 Android 应用程序的 ListView 中添加项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9082743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com