11월에 첫재날이네요.~화이팅 하고 싶지만...ㅋ
기초중에 기초라고 할 수 있는 TextView에서 막혀서 화이팅이 안되고 있습니다.
기본적인것일 수도 있지만...
텍스트뷰에 어레이값 arMenu1,2,3 을 각각 한 Activity 안에 보여주고 싶은데..
자바단에서 어떻게 불러와야 할지 모르겠습니다...
눈이 트일 수 있게 값진 한말씀 부탁드려요..
밑에 굵은 글씨...
package kr.co.billion.oceaninfo.android.apis.view;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import kr.co.billion.oceaninfo.android.apis.R;
import kr.co.billion.oceaninfo.android.apis.model.OceanData;
import kr.co.billion.oceaninfo.android.apis.util.OceanInfoConst;
import kr.co.billion.oceaninfo.android.apis.util.XmlUtil;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class OceanInfoList extends ListActivity {
List<OceanData> oceandata;
TextView text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.oceaninfo1);
oceandata = XmlUtil.oceanDataParse(OceanInfoConst.XML_URL + "20091112");
List<OceanData> tmpList = new ArrayList<OceanData>();
String tmpName;
for (OceanData data : oceandata) {
tmpName = data.getName().trim();
if (tmpName != null && tmpName.length() > 0) {
tmpList.add(data);
}
}
String[] arMenu1 = new String[tmpList.size()];
String[] arMenu2 = new String[tmpList.size()];
String[] arMenu3 = new String[tmpList.size()];
for (int i = 0; i < tmpList.size(); i++) {
arMenu1[i] = tmpList.get(i).getName();
}
for (int j = 0; j < tmpList.size(); j++) {
arMenu1[j] = tmpList.get(j).getSalt();
}
for (int k = 0; k < tmpList.size(); k++) {
arMenu1[k] = tmpList.get(k).getTemp();
}
Arrays.sort(arMenu1);
TextView list1 = (TextView)findViewById(android.R.id.list);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(OceanInfoList.this, R.layout.list_layout1, arMenu1);
list1.setAdapter(adapter1);//에러......
TextView list2 = (TextView)findViewById(R.id.list1);
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(OceanInfoList.this, R.layout.list_layout1, arMenu2);
list2.setAdapter(adapter2);
TextView list3 = (TextView)findViewById(R.id.list2);
ArrayAdapter<String> adapter3 = new ArrayAdapter<String>(OceanInfoList.this, R.layout.list_layout1, arMenu3);
list3.setAdapter(adapter3);
}
}
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableLayout
android:id="@+id/TableLayout01"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
>
<TableRow>
<TextView
android:id="@+id/android:list"
android:layout_width="110dp"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/list1"
android:layout_width="110dp"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/list2"
android:layout_width="110dp"
android:layout_height="wrap_content"
/>
</TableRow>
</TableLayout>
</LinearLayout>
SMS 입니다.
Arrays.sort(arMenu1);
ListView list1 = (ListView)findViewById(android.R.id.list);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(OceanInfoList.this, R.layout.list_layout1, arMenu1);
list1.setAdapter(adapter1);
ListView list2 = (ListView)findViewById(R.id.list1);
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(OceanInfoList.this, R.layout.list_layout1, arMenu2);
list2.setAdapter(adapter2);
ListView list3 = (ListView)findViewById(R.id.list2);
ArrayAdapter<String> adapter3 = new ArrayAdapter<String>(OceanInfoList.this, R.layout.list_layout1, arMenu3);
list3.setAdapter(adapter3);
했었는데 에러가 나네요~
아마 아이디에서 에러가 난거 같아요android:list 첫번째리스트는 아이디가 이렇자나요? 잘댓어요 요것만할땐.ㅎ
그런데 밑에 두개 아이디 때문에 에러가 나는거 같은데...listView는 android:list 꼭 이렇게 고유한 아이디를 줘야 하는것인가요..
그럼 한 Activity에서 여러개의 ListView를 쓸수 없나요.ㅡ,.ㅡ 몽미.ㅎㅎ
어댑터는 어댑터 뷰에 붙이는겁니다. 리스트뷰 쓰세요....
리스트뷰는 어댑터 뷰를 상속받으니까요...
그리고 리스트 뷰 하나에 여러개 데이터를 표시할 수도 있습니다.
다만 이럴 경우는 어댑터를 상속받아서 CustomAdapter를 만들어야 합니다.
검색해보세요.