人の新しいインスタンスを作成するPersonクラスとストップウォッチの新しいインスタンスを作成するStopwatchクラスの2つのクラスがあります(変数Button、Button、TextView 、およびPerson)。BaseAdapterのクラスの新しいインスタンスを作成できません
私の主な機能では、私は2つのテキストボックス、ボタン、およびリストビューを編集しています。私がやろうとしているのは、EditTextに名字を記入してから、保存をクリックすることです。保存すると、そのデータを自分の特定のインスタンスに保存します。その人を使って、stopwatchインスタンス内のButtonのテキストを更新します。各ストップウオッチのインスタンスには異なるインスタンスが割り当てられ、各ストップウォッチの名前が異なります。現時点では、保存ボタンのための私のonclickリスナーは何もしていないし、なぜ私は知らない。私はストップウォッチに1人だけ割り当てることができるまで、今はgetCountを1にハードコードしています。これは愚かな質問、私はJavaのに新たなんだがあれば
申し訳
主な機能:
import android.annotation.SuppressLint;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText firstName = (EditText)findViewById(R.id.FirstName);
final EditText lastName = (EditText)findViewById(R.id.LastName);
ListView listView = (ListView)findViewById(R.id.listView);
final Button save = (Button)findViewById(R.id.SaveUser);
BaseAdapter myAdapter = new BaseAdapter() {
@Override
public int getCount() {
return 1;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@SuppressLint("ViewHolder")
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.stopwatchview,parent,false);
final TextView Screen = (TextView) convertView.findViewById(R.id.Clock_View);
final Button start = (Button) convertView.findViewById(R.id.button_start);
Button reset = (Button) convertView.findViewById(R.id.button_reset);
final Person person = new Person();
final Stopwatch stopwatch = new Stopwatch(Screen,start,reset,person);;
Button save = (Button) findViewById(R.id.SaveUser);
final EditText first = (EditText) findViewById(R.id.FirstName);
final EditText last = (EditText) findViewById(R.id.LastName);
assert save != null;
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
person.setName(first.getText().toString(), last.getText().toString());
}
});
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (stopwatch.isTicking()) {
stopwatch.stop();
} else {
stopwatch.start();
}
}
});
reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stopwatch.reset();
}
});
return convertView;
}
};
listView.setAdapter(myAdapter);
}
}
ストップウォッチクラス:
import android.graphics.Color;
import android.os.Handler;
import android.os.SystemClock;
import android.widget.Button;
import android.widget.TextView;
public class Stopwatch {
TextView text;
Button start;
Button reset;
Person person;
public Stopwatch(TextView t, Button Start, Button Reset, Person p){
text = t;
start = Start;
reset = Reset;
person = p;
}
long starttime = 0L;
long timeInMilliseconds = 0L;
long timeSwapBuff = 0L;
long updatedtime = 0L;
int t = 1;
int secs = 0;
int mins = 0;
int milliseconds = 0;
Handler handler = new Handler();
Runnable callback;
public void start(){
callback = updateTimer();
start.setText("pause");
starttime = SystemClock.uptimeMillis();
handler.postDelayed(callback, 0);
t = 0;
}
public void stop(){
text.setTextColor(Color.BLUE);
start.setText(person.firstName);
timeSwapBuff += timeInMilliseconds;
handler.removeCallbacks(callback);
t = 1;
}
public void reset(){
stop();
starttime = 0L;
timeInMilliseconds = 0L;
timeSwapBuff = 0L;
updatedtime = 0L;
t = 1;
secs = 0;
mins = 0;
milliseconds = 0;
if(t==0){
handler.removeCallbacks(callback);
}
text.setText("00:00:00");
}
public boolean isTicking(){
if(t==0){
return true;
}
return false;
}
//Update Timer
private Runnable updateTimer() {
return new Runnable() {
public void run() {
timeInMilliseconds = SystemClock.uptimeMillis() - starttime;
updatedtime = timeSwapBuff + timeInMilliseconds;
secs = (int) (updatedtime/1000);
mins = secs/60;
secs = secs % 60;
milliseconds = (int) (updatedtime % 1000);
text.setText("" + mins + ":" + String.format("%02d", secs) + ":"
+ String.format("%03d", milliseconds));
text.setTextColor(Color.RED);
handler.postDelayed(this, 0);
}
};
};
}
人クラス:
public class Person {
String firstName;
String lastName;
String initials;
public Person(){
firstName = null;
lastName = null;
initials = null;
};
public void setName(String FirstName, String LastName){
firstName = FirstName;
lastName = LastName;
setInitials(FirstName, LastName);
}
private void setInitials(String firstName, String lastName) {
String firstLetter = firstName.substring(0,1);
String lastLetter = lastName.substring(0,1);
initials = firstLetter.concat(lastLetter);
}
}