如何在一个项目中构建两行文本和一个图像?

时间:2013-06-07 06:58:21

标签: android android-listview listviewitem

我正在使用java android。 我的应用程序有问题,我需要一些代码,可以使我的项目有两行文本和一个图像。 请救救我并帮忙。

这里是我尝试的代码,请确保您可以提供帮助并提出您的意见以及我如何解决它,因为我在这里停留。

主要活动

  private void setUpView() {
     // TODO Auto-generated method stub
     etInput = (EditText)this.findViewById(R.id.editText_input);
     Pinput = (EditText)this.findViewById(R.id.editText1);
     btnAdd = (Button)this.findViewById(R.id.button_add);
     lvItem = (ListView)this.findViewById(R.id.listView_items);

     itemArrey = new ArrayList<String>();

     itemAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,itemArrey);
     lvItem.setAdapter(itemAdapter);

     btnAdd.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             addItemList();
         }
     });

     etInput.setOnKeyListener(new View.OnKeyListener() {
         public boolean onKey(View v, int keyCode, KeyEvent event) {
             // TODO Auto-generated method stub
             if (keyCode == KeyEvent.KEYCODE_ENTER){
                 addItemList();
             }
             return false ;
         }
     });
     Pinput.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(keyCode== KeyEvent.KEYCODE_NUM) {
                addItemList();
            }
            return;
        }
    });
 }

 protected void addItemList() {
     // TODO Auto-generated method stub

     // TODO Auto-generated method stub
 if (isInputValid(Pinput  )) {

     itemArrey.add(Pinput.getText().toString());
     itemArrey.add(etInput.getText().toString());
     Pinput.setText("");
     etInput.setText("");
    itemAdapter.notifyDataSetChanged();

 }   if (isInputValid(etInput  )) {

     itemArrey.add(Pinput.getText().toString());
     itemArrey.add(etInput.getText().toString());
     Pinput.setText("");
     etInput.setText("");
     itemAdapter.notifyDataSetChanged();
   }
 }
 protected boolean isInputValid(EditText etInput2 ) {
     // TODO Auto-generatd method stub
     if (etInput2.getText().toString().trim().length()<1) {
         return false;
     } else {
         return true;
     }
 }

}

2 个答案:

答案 0 :(得分:0)

如果你想在ListView中使用自定义视图,我建议你自己做一个xml布局,并用你新创建的适配器调用替换android.R.layout.simple_list_item_1

这是最简单的方法,但我认为您可能需要更多自由来创建/修改行的内容,我强烈建议您创建自己的从BaseAdapter扩展的适配器。在适配器的getView()方法中,您可以轻松地为该行充气并设置布局。

答案 1 :(得分:0)

Okie ...你标记了android-listview和列表视图项。所以我认为你需要带有图像和文本的列表视图。 为此,您必须使用自定义列表视图。 See this 可能这会对你有所帮助。而不是那么请让你的阙更清楚。 :)