Имеется четыре текстовых поля для редактирования, которые уже размещены с помощью XML, и можно добавить две строки подряд, нажав кнопку «плюс». под ним.
Теперь у меня есть вычисление имени кнопки, в котором я хочу назначить событие, которое будет связано со значением, хранящимся в этих текстовых полях редактирования.
Так как
<edit text1> <edit text2>
< edit text3> <edit text4>
<edit text 5> <edit text6>
В обоих случаях я введу некоторое значение и скажу, что хочу сделать
((edit text1)*(edit text2))+((edittext3)*(edit text4))+((edittext5)*(edit text6))
и это событие должно быть сделано, когда я нажимаю кнопку "Рассчитать". Я знаю, как сделать событие нажатия кнопки, как вы можете видеть, я сделал это. Мне нужна помощь в разборе этих значений в событие щелчка калькулятора. Даже значения, идущие в текстовых полях редактирования из XML и те, которые генерируются кнопкой плюс.
Кроме того, я хочу немного изменить макет. Я попытался поэкспериментировать с этим, но теперь мне удалось получить кнопки под текстовыми полями редактирования, но когда я нажимаю кнопки + и кнопки редактирования появляются ниже, тогда как я хочу, чтобы они вышли наверх? Как макет редактирования текста, который я имею выше.
Java-код:
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
public class PlusbuttonActivity extends Activity
implements OnClickListener {
private TextView tt;
private TextView j;
/** Called when the activity is first created. */
private LinearLayout root;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View btnButton = findViewById(R.id.button_next);
Button mButton = (Button) findViewById(R.id.button);
mButton.setGravity(Gravity.CENTER);
tt=(TextView)findViewById(R.id.tt);
j=(TextView)findViewById(R.id.j);
root = (LinearLayout) findViewById(R.id.linearLayout);
mButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
View view = doStuff();
addViewToRoot(view);
break;
case R.id.button_next:
View view1 = doCalc();
addViewToRoot(view1);
break;
}
}
private View doCalc() {
// but these are text boxes.. i want to implement the edit boxes and output the result in text box
int parsedInt = Integer.parseInt(tt.getText().toString());
int parsedIn = Integer.parseInt(j.getText().toString());
return null;
}
private View doStuff() {
EditText t = new EditText(PlusbuttonActivity.this);
t.setGravity(Gravity.LEFT);
t.setWidth(250);
EditText a = new EditText(PlusbuttonActivity.this);
a.setGravity(Gravity.RIGHT);
a.setWidth(250);
LinearLayout l = new LinearLayout(PlusbuttonActivity.this);
t.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
// t.setBackgroundColor(0xffCECECE);
a.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
l.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
l.addView(t);
l.addView(a);
return l;
}
private void addViewToRoot(View v){
root.addView(v);
}
}
XML-файл:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/linearLayout">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:layout_weight="1"
android:text="Units"
android:id="@+id/tt"
/>
<TextView android:layout_height="wrap_content"
android:gravity="right"
android:layout_width="wrap_content"
android:layout_weight="1"
android:text="Grades"
android:id="@+id/j"></TextView>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:layout_width="250px"
android:layout_height="wrap_content"
android:id="@+id/edLat">
</EditText>
<EditText
android:layout_height="wrap_content"
android:id="@+id/edLong" android:layout_width="150dp">
</EditText>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:layout_width="250px"
android:layout_height="wrap_content"
android:id="@+id/et2">
</EditText>
<EditText
android:layout_height="wrap_content"
android:id="@+id/et1" android:layout_width="150dp">
</EditText>
</LinearLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<Button android:layout_height="wrap_content"
android:gravity="center" android:id="@+id/button" android:text="+" android:layout_width="wrap_content"></Button>
<Button
android:id="@+id/button_next"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:text="CALCULATE"
>
</Button>
</RelativeLayout>
</LinearLayout>