初學者成功創建自定義列表。 這裏是java類的自定義列表的: ,我也實現OnClickListener從edittext中獲取值並將其設置在自定義列表視圖中
public class Area_Acre extends ListActivity implements OnClickListener {
String[] stringarray = new String[7];
private EditText editAcre ;
private ListView list ;
private Button buttonConvertAcre;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.area_acre);
Button buttonConvert = (Button) findViewById (R.id.buttonConvertAcre);
EditText editAcre = (EditText) findViewById(R.id.editAcre);
buttonConvert.setOnClickListener(this);
setListAdapter(new MyAdapter(this,
android.R.layout.simple_list_item_1,
R.id.textView_list,
getResources().getStringArray(R.array.Area)));
}
private class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context context, int resource, int textViewResourceId,
String[] strings) {
super(context, resource, textViewResourceId, strings);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row= inflater.inflate(R.layout.custom_list, parent,false);
String[] items = getResources().getStringArray(R.array.Area);
ImageView iv = (ImageView) row.findViewById(R.id.imageView_list);
TextView tv = (TextView) row.findViewById(R.id.textView_list);
tv.setText(items[position]);
if (items[position].equals("Acre")){
iv.setImageResource(R.drawable.area_acre);
}
else if (items[position].equals("Hectar")){
iv.setImageResource(R.drawable.area_hectar);
}
else if (items[position].equals("Square Inch")){
iv.setImageResource(R.drawable.area_sinch);
}
else if (items[position].equals("Square KM")){
iv.setImageResource(R.drawable.area_skm);
}
else if (items[position].equals("Square Meter")){
iv.setImageResource(R.drawable.area_smeter);
}
else if (items[position].equals("Square Mile")){
iv.setImageResource(R.drawable.area_smile);
}
else if (items[position].equals("Square Yard")){
iv.setImageResource(R.drawable.area_syard);
}
return row;
}
這裏是我的點擊,我不知道該怎麼做。 我一直在服用價值TextView的,現在我想借此從EditText上的值到自定義列表視圖
@Override
public void onClick(View v) {
if(v.getId() == R.id.buttonConvertHectar){
double acre = Double.valueOf (editAcre.getText().toString());
double hectar = acre * 0.404686;
double squareinch = acre * 6.273e+6;
double squarekm = acre * 0.00404686;
double squaremeter = acre * 4046.86;
double squaremile = acre * 0.0015625;
double squareyard = acre * 4840;
}
stringarray[0] = acre + "";
stringarray[1] = hectar+ "";
stringarray[2] = squareinch+ "";
stringarray[3] = squarekm+ "";
stringarray[4] = squaremeter+ "";
stringarray[5] = squaremile+ "";
stringarray[6] = squareyard+ "";
}
這裏是XML:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/buttonConvertAcre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginTop="5dp"
android:minHeight="40dp"
android:text="@string/Button" />
<View
android:layout_width="fill_parent"
android:layout_height="@dimen/viewline_hight"
android:layout_marginBottom="@dimen/insideline_marginUpDonw"
android:layout_marginLeft="@dimen/insideline_marginLeftRight"
android:layout_marginRight="@dimen/insideline_marginLeftRight"
android:layout_marginTop="@dimen/insideline_marginUpDonw"
android:background="@color/inside_line" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="@dimen/linearlayout_marginhight"
android:layout_marginLeft="@dimen/linearlayout_marginLeftRight"
android:layout_marginRight="@dimen/linearlayout_marginLeftRight"
android:gravity="center"
android:orientation="horizontal" >
<TextView
android:id="@+id/textAcre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/Acre"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/main_text_size" />
<EditText
android:id="@+id/editAcre"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/layout_marginLeft"
android:background="@android:color/transparent"
android:gravity="right"
android:hint="@string/IYN"
android:inputType="number"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/red_set"
android:textSize="@dimen/hint_text_size" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="@dimen/viewline_hight"
android:layout_marginBottom="@dimen/insideline_marginUpDonw"
android:layout_marginLeft="@dimen/insideline_marginLeftRight"
android:layout_marginRight="@dimen/insideline_marginLeftRight"
android:layout_marginTop="@dimen/insideline_marginUpDonw"
android:background="@color/inside_line" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_margin="5dp" >
</ListView>
</LinearLayout>
,這裏是自定義列表視圖中的xml:
<ImageView
android:id="@+id/imageView_list"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:src="@drawable/e_incalc" />
<TextView
android:id="@+id/textView_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="TextView"
android:textSize="@dimen/main_text_size" />
就是這樣...... 得到任何幫助, 並非常感謝
this is how the app look like at the first place.. Click
這是我希望它是...用的EditText和列表視圖和一個按鈕,或者它會更好,如果我可以自動獲得的結果。 this is how i want it to be with listview..Click
我不明白你的問題那麼這裏是一個解決方案。順便說一句,適合初學者的格式(Y)。 –
謝謝...我想從編輯文本中獲取editAcre的值,並將結果導入到我的自定義列表視圖中。 – user2513275