어떤분의 강좌를 보고 제가 필요한 앱을 만들고 있는데요..
디버그를 하거나 Toest를 띄우면 데이터가 잘 들어 옵니다. 그런데 화면에 표시가 되질 않는데 이유를 모르겠습니다. 고수님들이 좀 도와주십시요 거의 일주일 삽질하고 있습니다...
디자인은 main에서 버튼으로 입력 / 조회 / 통계를 누르면 각 intent를 실행하여 작업을 하는 앱입니다.
입력하는 부분은 작업을 했는데 조회 부분에서 막히네요.
원래는 조건에 따른 조회를 만들고 싶은데 진행이 않돼서 일단 전체 조회를 작업 후 진행하려고 했는데 막혀서 진행을 못하고 있습니다.
select.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 상단 타이틀바 -->
<LinearLayout android:layout_width="fill_parent"
android:layout_height="55px"
android:gravity="center_horizontal|center_vertical"
android:orientation="horizontal">
<EditText
android:id="@+id/Textname"
android:layout_width="150px"
android:layout_height="50px"
android:text=""
android:textSize="18sp"
android:layout_x="10px"
android:layout_y="15px"/>
<Button
android:id="@+id/Select_B"
android:layout_width="80px"
android:layout_height="50px"
android:text="조회"
android:layout_x="158px"
android:layout_y="15px"/>
<Button
android:id="@+id/Menu_B"
android:layout_width="80px"
android:layout_height="50px"
android:text="Menu"
android:layout_x="235px"
android:layout_y="15px"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:background="@null"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectoronTop="false"/>
<TextView android:id="@+id/list_empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal|center_vertical"
android:textSize="20sp"
android:paddingTop="50dip"
android:text="" />
</LinearLayout>
</LinearLayout>
low.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="left"
android:layout_weight="1">
<TextView
android:id="@+id/getslipdt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Date"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:gravity="center_vertical"
android:paddingLeft="5dip"
android:singleLine="true"/>
<TextView
android:id="@+id/getname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Name"
android:textColor="#FFF123"
android:textSize="20sp"
android:gravity="center_vertical"
android:paddingLeft="5dip"
android:singleLine="true"/>
</LinearLayout>
<ImageView android:id="@+id/deleteImage"
android:layout_width="48dip"
android:layout_height="48dip"
android:layout_marginLeft="0dip"
android:layout_marginRight="0dip"
android:background="@null"
android:src="@drawable/button_delete_record"
android:gravity="center_vertical"/>
</LinearLayout>
select.java
package kim.beginner;
import java.util.ArrayList;
import java.util.List;
import kim.beginner.data.DataDao;
import kim.beginner.data.DataDao.DataTo;
import kim.beginner.Contants;
import android.app.ListActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.database.Cursor;
import android.os.Bundle;
import android.text.ClipboardManager;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class Select extends ListActivity {
public static String CLASSNAME = Select.class.getSimpleName();
private DataDao dao;
private DataListAdapter mListAdapter;
private ArrayList<DataTo> mDatas;
private Cursor cursor;
private EditText mTextname;
private ListView sListView;
private TextView sEmpty;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.select);
dao = new DataDao(getApplicationContext());
mTextname = (EditText)findViewById(R.id.Textname);
sListView = getListView();
sListView.setItemsCanFocus(true);
sListView.setEmptyView(sEmpty);
sListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
sEmpty = (TextView)findViewById(R.id.list_empty);
Button menub = (Button)findViewById(R.id.Menu_B);
menub.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
finish(); // 액티비티를 종료합니다.
}
});
((EditText)findViewById(R.id.Textname)).setInputType(0);
Button Selectb = (Button)findViewById(R.id.Select_B);
Selectb.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
populateList(); // 액티비티를 종료합니다.
}
});
//populateList(); // 액티비티를 종료합니다.
}
@Override
protected void onPause() {
Log.i(Contants.LOG_TAG,Select.CLASSNAME + "- onPause()");
super.onPause();
}
@Override
protected void onResume() {
Log.i(Contants.LOG_TAG,Select.CLASSNAME + "- onResume()");
super.onResume();
}
@Override
protected void onDestroy() {
dao.close();
super.onDestroy();
}
private void populateList() {
Log.v(Contants.LOG_TAG, Select.CLASSNAME + "- populateList");
mDatas = (ArrayList<DataTo>)dao.get();
if(mDatas == null) {
sEmpty.setText("");
setListAdapter(null);
} else {
// Toast.makeText(mContext1,"Test" , Toast.LENGTH_SHORT).show();
mListAdapter = new DataListAdapter(this,R.layout.row, mDatas);
Log.v(Contants.LOG_TAG, mListAdapter + "- populateList, mListAdapter");
setListAdapter(mListAdapter);
Log.v(Contants.LOG_TAG, this.CLASSNAME + "- populateList, sListView Binding End");
sEmpty.setText("End");
}
}
class DataListAdapter extends ArrayAdapter<DataTo> {
private static final String CLASS = "DataListAdapter";
private Context mContext;
private List<DataTo> mDataList;
public DataListAdapter(Context context, int textViewResourceId, List<DataTo> items) {
super(context, textViewResourceId, items);
mContext = context;
mDataList = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if(v == null) {
LayoutInflater inflator = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflator.inflate(R.layout.row, null);
}
final DataTo to = mDataList.get(position);
Log.i(Contants.LOG_TAG, CLASS + " getView:pos" + position + "data:" + to.toString());
Log.i(Contants.LOG_TAG, CLASS + " Slip_dt:" + to.getslipdt().toString() + ",Name:" + to.getname().toString());
// Toast.makeText(mContext,to.getname().toString() , Toast.LENGTH_SHORT).show();
if(to != null) {
//Toast.makeText(mContext,to.getname().toString() , Toast.LENGTH_SHORT).show();
TextView getslipdt = (TextView)v.findViewById(R.id.getslipdt);
if (getslipdt != null) {
getslipdt.setText(to.getslipdt());
}
TextView getname = (TextView)v.findViewById(R.id.getname);
if (getname != null) {
getname.setText(to.getname());
}
//Toast.makeText(mContext,getslipdt.getText()+ " | " + getname.getText(), Toast.LENGTH_SHORT).show();
/* TextView getjichul = (TextView)row.findViewById(R.id.getjichul);
getjichul.setText(to.getjichul());
TextView getchoice = (TextView)row.findViewById(R.id.getchoice);
getchoice.setText(to.getchoice());
TextView getamt = (TextView)row.findViewById(R.id.getamt);
getamt.setText(to.getamt());*/
ImageView deleteButton = (ImageView)v.findViewById(R.id.deleteImage);
deleteButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i(Contants.LOG_TAG, CLASS + " delete:" + to.toString());
dao.delete(to.getId());
Toast.makeText(mContext, R.string.msg_delete_success, Toast.LENGTH_SHORT).show();
populateList();
}
});
}
return v;
}
}
}
분명 자료가 들어오는 것으로 디버기 모드에서는 보이는데 select.xml의 row.xml이 보이지 않네요..
어느 부분이 잘못된 것인지 부탁드립니다..