【发布时间】:2015-01-31 14:45:50
【问题描述】:
我是 Android Studio 的初学者,我正在尝试制作一个应用程序。 我有一个问题:我有一个自定义 ListView,我想在单击按钮时向此 ListView 添加项目(打开带有 editText 的对话框)。 但是我没有成功! 目前我成功地将项目添加到一个简单的列表视图中,但我现在想将项目添加到我的自定义 ListView 中:
这是我的自定义 ListView(我的灵感来自互联网):
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
private String[] web;
private final Integer[] imageId;
public CustomList(Activity context,
String[] web, Integer[] imageId) {
super(context, R.layout.list_single, web);
this.context = context;
this.web = web;
this.imageId = imageId;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.list_single, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.txt);
ImageView imageView = (ImageView) rowView.findViewById(R.id.img);
txtTitle.setText(web[position]);
imageView.setImageResource(imageId[position]);
return rowView;
}
}
这是我当前的代码,它可以工作,但只是将项目添加到“普通”列表视图中
public class MenuActivity extends Activity {
ListView listplayer=null;
ImageButton addButton = null;
/** Items entered by the user is stored in this ArrayList variable */
ArrayList<String> list = new ArrayList<String>();
/** Declaring an ArrayAdapter to set items to ListView */
ArrayAdapter<String> adapter;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
listplayer=(ListView) findViewById(R.id.list);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
addButton = (ImageButton) findViewById(R.id.buttonaddplayer);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Create custom dialog object
final Dialog dialog = new Dialog(MenuActivity.this);
dialog.setTitle(getResources().getString(R.string.addperson));
// Include dialog.xml file
dialog.setContentView(R.layout.dialoglayout);
// Set dialog title
// dialog.setTitle("Custom Dialog");
// set values for custom dialog components - text, image and button
final EditText text = (EditText) dialog.findViewById(R.id.editTextdialog);
dialog.show();
ImageButton validButton = (ImageButton) dialog.findViewById(R.id.imageButtonvalid);
// if decline button is clicked, close the custom dialog
validButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
list.add(text.getText().toString());
text.setText("");
adapter.notifyDataSetChanged();
dialog.dismiss();
}
});
listplayer.setAdapter(adapter);
}
});
}
谢谢你帮助我。 事实上,我想做一个可以添加播放器的应用程序,但是使用“漂亮”而不是 android studio 的正常列表视图
【问题讨论】: