I am new to android and Java and I am having trouble using the Thread.sleep function.My program is a simple game that's almost like table tennis with two players. The code is not complete but the Thread is not working properly.I am changing the margins to move the ball.Is the catch block being run because of some exception > My code is as follows :
package com.example.game;
import android.app.Activity;
import android.app.Activity;
import android.content.Context;
import android.graphics.Point;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
private int x1=0,x2=0,m=150;
public int height;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Display display = getWindowManager().getDefaultDisplay();
Point size= new Point();
display.getSize(size);
// int width = size.x;
height = size.y;
showview2();
showview1();
game();
}
public void game()
{
buttonSetup1_rig();
buttonSetup1_lef();
buttonSetup2_rig();
buttonSetup2_lef();
//while(m>=0)
for(int i=0;i<150;i++)
{
showball();
new Thread(new Runnable() {
#Override
public void run() {
try {
Thread.sleep(500);
m=m-10;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
}
protected void buttonSetup1_rig()
{
ImageButton ticon=(ImageButton)findViewById(R.id.imageButton2);
ticon.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(x1<(height-320))
x1=x1+10;
showview1();
}
});
}
protected void buttonSetup1_lef()
{
ImageButton ticon=(ImageButton)findViewById(R.id.imageButton1);
ticon.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(x1>(0))
x1=x1-10;
showview1();
}
});
}
protected void buttonSetup2_rig()
{
ImageButton ticon=(ImageButton)findViewById(R.id.imageButton6);
ticon.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(x2<(height-320))
x2=x2+10;
showview2();
}
});
}
protected void buttonSetup2_lef()
{
ImageButton ticon=(ImageButton)findViewById(R.id.imageButton4);
ticon.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(x2>(0))
x2=x2-10;
showview2();
}
});
}
public void showview1()
{
ImageView image=(ImageView)findViewById(R.id.imageView1);
LinearLayout.LayoutParams lp ;
lp=(LinearLayout.LayoutParams)(image.getLayoutParams());
lp.setMargins(x1,0,0,0);
image.setLayoutParams(lp);
}
public void showview2()
{
ImageView image=(ImageView)findViewById(R.id.imageView2);
LinearLayout.LayoutParams lp ;
lp=(LinearLayout.LayoutParams)(image.getLayoutParams());
lp.setMargins(x2,0,0,0);
image.setLayoutParams(lp);
}
public void showball()
{
ImageView img=(ImageView)findViewById(R.id.imageView3);
LinearLayout.LayoutParams l ;
l=(LinearLayout.LayoutParams)(img.getLayoutParams());
int leftMargin = l.leftMargin;
int rightMargin = l.rightMargin;
int topMargin = l.topMargin;
l.setMargins(m,0,m,0);
img.setLayoutParams(l);
}
}
My Xml is :
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="400dp" >
<RelativeLayout
android:id="#+id/relativeLayout1"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_above="#+id/relativeLayout2"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
<ImageButton
android:id="#+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="#drawable/left" />
<ImageButton
android:id="#+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="#drawable/ic_launcher" />
<ImageButton
android:id="#+id/imageButton6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="#drawable/right" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="350dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="#+id/relativeLayout1" >
<LinearLayout
android:id="#+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
<ImageView
android:id="#+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#drawable/lc" />
</LinearLayout>
<LinearLayout
android:id="#+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="280dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="#+id/linearLayout1"
android:orientation="vertical" >
<ImageView
android:id="#+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="120dp"
android:layout_marginTop="140dp"
android:src="#drawable/untitled" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="#+id/linearLayout2"
android:orientation="vertical" >
<ImageView
android:id="#+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="64dp"
android:src="#drawable/lc" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="49dp"
android:layout_weight="2.25" >
<ImageButton
android:id="#+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="#drawable/left" />
<ImageButton
android:id="#+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="#+id/imageButton1"
android:layout_alignParentRight="true"
android:src="#drawable/right" />
<ImageButton
android:id="#+id/imageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="#drawable/ic_launcher" />
</RelativeLayout>
Related
In the below code, I've set the new Intent in the autocomplete_next TextView, but in my Mobile, when I run the app, and When I try to move to the next activity, It does not go the next Activity, Instead of that, it comes back again to the same previous Activity. In the Android Studio LOGCAT, I've seen the RenderScript: SETAFFINITY ret = -1 . I got no trace about this error on Google? Please Help me to fix my issue. Thank You in Advance...
activity_calculator.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".CalculatorActivity"
android:layout_centerHorizontal="true">
<TableLayout
android:id="#+id/tableinput"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Operand 1 : "
android:textSize="20dp"
android:textAlignment="textStart"
/>
<EditText
android:id="#+id/oper1_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:layout_weight="1"/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp">
<TextView
android:id="#+id/autocomplete_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Operand 2 : "
android:textSize="20dp"
android:textAlignment="textStart"
android:layout_weight="0"/>
<EditText
android:id="#+id/oper2_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:layout_weight="1"/>
</TableRow>
</TableLayout>
<GridLayout
android:id="#+id/calculator"
android:layout_below="#id/tableinput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true">
<Button
android:id="#+id/add_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="0"
android:layout_column="0"
android:text="Add"/>
<Button
android:id="#+id/sub_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="0"
android:layout_column="1"
android:text="Sub"/>
<Button
android:id="#+id/min_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="0"
android:layout_column="2"
android:text="Min"/>
<Button
android:id="#+id/mul_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="1"
android:layout_column="0"
android:text="Multiply"/>
<Button
android:id="#+id/div_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="1"
android:layout_column="1"
android:text="Divide"/>
<Button
android:id="#+id/pow_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="2"
android:layout_column="1"
android:text="Power"/>
<Button
android:id="#+id/max_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="1"
android:layout_column="2"
android:text="Max"/>
<Button
android:id="#+id/rem_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="2"
android:layout_column="0"
android:text="Remainder"/>
<Button
android:id="#+id/clear_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="2dp"
android:textSize="20dp"
android:layout_row="2"
android:layout_column="2"
android:text="clear"/>
</GridLayout>
<TableRow
android:layout_below="#id/calculator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp">
<TextView
android:id="#+id/video_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ans: "
android:textSize="20dp"
android:textAlignment="textStart"
android:layout_weight="0"/>
<EditText
android:id="#+id/ans_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:layout_weight="1"/>
</TableRow>
</RelativeLayout>
CalculatorActivity.java (Activity which calls another Activity)
package com.example.lab_excercise_2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.lang.Math;
public class CalculatorActivity extends AppCompatActivity {
private EditText oper1, oper2, ans;
private Button add_btn, sub_btn, div_btn, mul_btn, rem_btn, max_btn, min_btn, pow_btn, clear_btn;
private Integer oper1_text, oper2_text;
private TextView video_next,autocomplete_next;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
add_btn = findViewById(R.id.add_btn);
sub_btn = findViewById(R.id.sub_btn);
mul_btn = findViewById(R.id.mul_btn);
div_btn = findViewById(R.id.div_btn);
rem_btn = findViewById(R.id.rem_btn);
min_btn = findViewById(R.id.min_btn);
max_btn = findViewById(R.id.max_btn);
pow_btn = findViewById(R.id.pow_btn);
clear_btn = findViewById(R.id.clear_btn);
oper1 = findViewById(R.id.oper1_edit_text);
oper2 = findViewById(R.id.oper2_edit_text);
ans = findViewById(R.id.ans_edit_text);
video_next = findViewById(R.id.video_textView);
autocomplete_next = findViewById(R.id.autocomplete_textView);
add_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1_text=Integer.parseInt(oper1.getText().toString());
oper2_text=Integer.parseInt(oper2.getText().toString());
ans.setText(String.valueOf(oper1_text+oper2_text));
}
});
sub_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1_text=Integer.parseInt(oper1.getText().toString());
oper2_text=Integer.parseInt(oper2.getText().toString());
ans.setText(String.valueOf(oper1_text-oper2_text));
}
});
mul_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1_text=Integer.parseInt(oper1.getText().toString());
oper2_text=Integer.parseInt(oper2.getText().toString());
ans.setText(String.valueOf(oper1_text*oper2_text));
}
});
div_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1_text=Integer.parseInt(oper1.getText().toString());
oper2_text=Integer.parseInt(oper2.getText().toString());
ans.setText(String.valueOf(oper1_text/oper2_text));
}
});
rem_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1_text=Integer.parseInt(oper1.getText().toString());
oper2_text=Integer.parseInt(oper2.getText().toString());
ans.setText(String.valueOf(oper1_text%oper2_text));
}
});
max_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1_text=Integer.parseInt(oper1.getText().toString());
oper2_text=Integer.parseInt(oper2.getText().toString());
ans.setText((oper1_text>oper2_text ? oper1_text: oper2_text).toString());
}
});
min_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1_text=Integer.parseInt(oper1.getText().toString());
oper2_text=Integer.parseInt(oper2.getText().toString());
ans.setText((oper1_text<oper2_text ? oper1_text: oper2_text).toString());
}
});
pow_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1_text=Integer.parseInt(oper1.getText().toString());
oper2_text=Integer.parseInt(oper2.getText().toString());
Double pow = Math.pow(oper1_text,oper2_text);
ans.setText(pow.toString());
}
});
clear_btn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
oper1.setText("");
oper2.setText("");
ans.setText("");
}
});
video_next.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent videoIntent = new Intent(CalculatorActivity.this,VideoActivity.class);
startActivity(videoIntent);
}
});
autocomplete_next.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent autocompleteIntent = new Intent(CalculatorActivity.this,AutocompleteActivity.class);
startActivity(autocompleteIntent);
}
});
}
}
activity_autocomplete.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".AutocompleteActivity">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textSize="30sp"
android:textAlignment="center"
android:layout_width="wrap_content"
android:text="Date-Time Picker Autocomplete"
android:textStyle="bold"
android:textColor="#color/colorPrimary"
android:layout_margin="20dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="#+id/setTime_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:text="Set Time"
android:layout_weight="1"
android:layout_margin="20dp"/>
<TextView
android:id="#+id/time_text"
android:textSize="20sp"
android:textAlignment="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:layout_weight="3"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="#+id/setDate_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:text="Set Date"
android:layout_margin="20dp"
android:layout_weight="1" />
<TextView
android:id="#+id/date_text"
android:textSize="20sp"
android:textAlignment="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:layout_weight="3"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="#+id/label_text"
android:textSize="20sp"
android:textAlignment="center"
android:layout_width="wrap_content"
android:text="Label "
android:textStyle="bold"
android:textColor="#color/colorPrimary"
android:layout_margin="20dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<MultiAutoCompleteTextView
android:id="#+id/label_edit"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:layout_weight="3" />
</TableRow>
<Button
android:id="#+id/setalarm_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#color/colorPrimary"
android:textColor="#android:color/white"
android:layout_margin="20dp"
android:text="Set Time" />
</TableLayout>
</RelativeLayout>
AutocompleteActivity.java (Activity which was called by the above Activity)
package com.example.lab_excercise_2;
import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.MultiAutoCompleteTextView;
import android.widget.TextView;
import android.widget.TimePicker;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class AutocompleteActivity extends AppCompatActivity {
private Button setTime, setDate, setalarm;
private TextView time_text, date_text, label_text;
private Calendar calendar = Calendar.getInstance();
private String date_string, time_string, label_string;
private String[] labels = {"Wake Up","Time to School","Time to College","Time to Work","Complete Activity","Finish Project"};
private MultiAutoCompleteTextView label_autocomplete;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_autocomplete);
setTime = findViewById(R.id.setTime_btn);
setDate = findViewById(R.id.setDate_btn);
setalarm = findViewById(R.id.setalarm_btn);
time_text = findViewById(R.id.time_text);
date_text = findViewById(R.id.date_text);
label_autocomplete = findViewById(R.id.label_edit);
label_text = findViewById(R.id.label_textView);
setDate.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
showDateDialog(setDate);
}
});
setTime.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
showTimeDialog(setTime);
}
});
setalarm.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
nextpage(v);
}
});
label_autocomplete.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent alarmIntent = new Intent(AutocompleteActivity.this,AlarmActivity.class);
startActivity(alarmIntent);
}
});
label_text.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent alarmIntent = new Intent(AutocompleteActivity.this,AlarmActivity.class);
startActivity(alarmIntent);
}
});
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,labels);
label_autocomplete.setAdapter(adapter);
label_autocomplete.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
public void showTimeDialog(final Button time){
TimePickerDialog.OnTimeSetListener timeSetListener = new TimePickerDialog.OnTimeSetListener() {
#Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);
calendar.set(Calendar.MINUTE,minute);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
time_text.setText(simpleDateFormat.format(calendar.getTime()));
}
};
new TimePickerDialog(AutocompleteActivity.this,timeSetListener,calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),false).show();
}
public void showDateDialog(final Button date){
DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
#Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month);
calendar.set(Calendar.DAY_OF_MONTH,dayOfMonth);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy-MM-dd");
date_text.setText(simpleDateFormat.format(calendar.getTime()));
}
};
new DatePickerDialog(AutocompleteActivity.this, dateSetListener,calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();
}
public void nextpage(View view){
date_string = date_text.getText().toString();
time_string = time_text.getText().toString();
label_string = label_autocomplete.getText().toString();
Intent nextIntent = new Intent(this,Autocomplete2Activity.class);
nextIntent.putExtra("date",date_string);
nextIntent.putExtra("time",time_string);
nextIntent.putExtra("label",label_string);
startActivity(nextIntent);
}
}
LOGCAT
2020-03-02 19:55:10.865 4078-4136/com.example.lab_excercise_2E/RenderScript: SETAFFINITY ret = -1
2020-03-02 19:55:10.865 4078-4137/com.example.lab_excercise_2 E/RenderScript: SETAFFINITY ret = -1
2020-03-02 19:55:10.865 4078-4139/com.example.lab_excercise_2 E/RenderScript: SETAFFINITY ret = -1
2020-03-02 19:55:10.865 4078-4138/com.example.lab_excercise_2 E/RenderScript: SETAFFINITY ret = -1
2020-03-02 19:55:10.865 4078-4140/com.example.lab_excercise_2 E/RenderScript: SETAFFINITY ret = -1
2020-03-02 19:55:10.865 4078-4142/com.example.lab_excercise_2 E/RenderScript: SETAFFINITY ret = -1
2020-03-02 19:55:10.865 4078-4141/com.example.lab_excercise_2 E/RenderScript: SETAFFINITY ret = -1`
So, content of second activity does not appear when app is running, although content is showing in xml design. Programming in Java on Android Studio. In similar article answer didn't help. I also tried just to put one element in second activity, same result. Thanks in advance!
This is code from MainActivity.java:
package todo.beginner.com.carchooser2;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
import static todo.beginner.com.carchooser2.R.id.checkBoxPrice;
import static todo.beginner.com.carchooser2.R.id.checkBoxGas;
import static todo.beginner.com.carchooser2.R.id.checkBoxYear;
import static todo.beginner.com.carchooser2.R.id.checkBoxMileage;
import static todo.beginner.com.carchooser2.R.id.checkBoxCapacity;
public class MainActivity extends AppCompatActivity {
private CheckBox check1, check2, check3, check4, check5;
private static Button button_next;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerToCeckBox();
OnClickButtonListener();
}
public void OnClickButtonListener() {
button_next = (Button)findViewById(R.id.button);
button_next.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent("todo.beginner.com.SecondActivity");
startActivity(intent);
}
}
);
}
public void addListenerToCeckBox() {
check1 = (CheckBox)findViewById(checkBoxCena);
check1.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
if (((CheckBox)v).isChecked()){
Toast.makeText(MainActivity.this,
"Price is chosen", Toast.LENGTH_LONG).show();
}
}
}
);
check2 = (CheckBox)findViewById(checkBoxGads);
check2.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
if (((CheckBox)v).isChecked()){
Toast.makeText(MainActivity.this,
"Year is chosen", Toast.LENGTH_LONG).show();
}
}
}
);
check3 = (CheckBox)findViewById(checkBoxTilpums);
check3.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
if (((CheckBox)v).isChecked()){
Toast.makeText(MainActivity.this,
"Engine capacity is chosen", Toast.LENGTH_LONG).show();
}
}
}
);
check4 = (CheckBox)findViewById(checkBoxDegviela);
check4.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
if (((CheckBox)v).isChecked()){
Toast.makeText(MainActivity.this,
"Gas consumption is chosen", Toast.LENGTH_LONG).show();
}
}
}
);
check5 = (CheckBox)findViewById(checkBoxNobraukums);
check5.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
if (((CheckBox)v).isChecked()){
Toast.makeText(MainActivity.this,
"Mileage is chosen", Toast.LENGTH_LONG).show();
}
}
}
);
}
}
This is from activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="#+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="#dimen/activity_vertical_margin"
android:paddingLeft="#dimen/activity_horizontal_margin"
android:paddingRight="#dimen/activity_horizontal_margin"
android:paddingTop="#dimen/activity_vertical_margin"
tools:context="todo.raitis.com.carchooser.MainActivity">
<CheckBox
android:text="Price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="#+id/checkBoxPrice"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="67dp" />
<CheckBox
android:text="Year"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#+id/checkBoxPrice"
android:layout_alignRight="#+id/checkBoxPrice"
android:layout_alignEnd="#+id/checkBoxPrice"
android:layout_marginTop="33dp"
android:id="#+id/checkBoxYear" />
<CheckBox
android:text="Engine Capacity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="37dp"
android:id="#+id/checkBoxCapacity"
android:layout_below="#+id/checkBoxYear"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:text="Gas"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#+id/checkBoxCapacity"
android:layout_alignRight="#+id/checkBoxCapacity"
android:layout_alignEnd="#+id/checkBoxCapacity"
android:layout_marginTop="30dp"
android:id="#+id/checkBoxGas" />
<CheckBox
android:text="Mileage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#+id/checkBoxGas"
android:layout_alignRight="#+id/checkBoxGas"
android:layout_alignEnd="#+id/checkBoxGas"
android:layout_marginTop="33dp"
android:id="#+id/checkBoxMileage" />
<Button
android:text="Next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="31dp"
android:id="#+id/button" />
<TextView
android:text="Choose criteria!"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:id="#+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
This is from SecondActivity.java:
package todo.beginner.com.carchooser2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class SecondActivity extends AppCompatActivity {
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
}
And this is from activity_second.xml:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp">
<TableRow
android:background="#607D8B"
android:padding="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Car Name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Price" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Year" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Gas" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Mileage" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Capacity" />
</TableRow>
<TableRow
android:background="#ECEFF1"
android:padding="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Audi" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="5000" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="2001" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="7" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="280000" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="2.5" />
</TableRow>
</TableLayout>
You are using the intent incorrectly. It should be:
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
Don't think you're starting the activity correctly. Try changing Intent intent = new Intent("todo.beginner.com.SecondActivity"); to Intent intent = new Intent(MainActivity.this, SecondActivity.class); in your MainActivity.
I am trying to generate Multiplication Table of any number that is input by user. I have developed the interface for the application but cannot understand where to start with the logical part(coding). What i want is when a user inputs a number into the EditText then in the TextView (id: printArea) should show the table of the input number in the format as given in image 2. [Just to show you example i used TextView in the printArea part and i do not know what to use instead]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
android:weightSum="1">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="#+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:text="Please Enter a Number: "
android:textSize="20sp" />
<EditText
android:id="#+id/num"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginLeft="30dp"
android:textSize="20sp" />
</LinearLayout>
<Button
android:id="#+id/calculate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="#+id/log"
android:onClick="submitNumber"
android:text="Get Table" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:id="#+id/printArea" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="#+id/clear"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="1dp"
android:text="Clear" />
<Button
android:id="#+id/credits"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:text="Credits" />
<Button
android:id="#+id/exit"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_marginLeft="1dp"
android:layout_marginRight="2dp"
android:text="Exit" />
</LinearLayout>
</LinearLayout>
and the MainActivity.java is:
package com.example.tara.multiplicationtable;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText num;
Button credits;
Button calculate;
Button clear;
Button exit;
TextView printArea;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
num = new EditText(this);
clear = new Button(this);
calculate = new Button(this);
credits = new Button(this);
calculate = new Button(this);
printArea = new TextView(this);
num = (EditText) findViewById(R.id.num);
credits = (Button) findViewById(R.id.credits);
clear = (Button) findViewById(R.id.clear);
exit = (Button) findViewById(R.id.exit);
printArea = (TextView) findViewById(R.id.printArea);
calculate = (Button) findViewById(R.id.calculate);
calculate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//change the integer value into string
int num1 = Integer.parseInt(num.getText().toString());
// Perform action on click
for (int i = 1; i <= 10; i++) {
printArea.setText(num1 + "X" + i + "=" + i * num1);
}
}
});
clear.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
num.setText("");
}
});
credits.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, Credits.class);
startActivity(i);
}
});
exit.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
finish();
System.exit(0);
}
});
}
}
when application is launched it should show like thisThe initial state of application
and i want to make the application show the table like this if user input is 2 The Final Result
Make a Listview and then in its adapter add your table data.
Make adapter's layout like this:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="=" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4" />
Here are the codes that i used to build the Multiplication Table that i imagined to build. The code for activity_main.xml file will be:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="1dp"
android:layout_marginStart="2dp"
android:text="#string/Enter_number"
android:textSize="16sp" />
<EditText
android:id="#+id/num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="2dp"
android:layout_marginStart="1dp"
android:digits="0123456789"
android:hint="#string/hidden_text"
android:inputType="number"
android:maxLength="3"
android:textSize="16sp" />
</LinearLayout>
<Button
android:id="#+id/calculate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="#string/calculate"
android:imeOptions="actionDone"
android:textSize="16sp"/>
<!--android:onClick="submitNumber"-->
<TextView
android:id="#+id/printArea"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:textSize="20sp"
android:background="#drawable/backimage" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="#+id/clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="1dp"
android:layout_marginStart="2dp"
android:textSize="16sp"
android:text="#string/clear"
/>
<Button
android:id="#+id/credits"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="1dp"
android:layout_marginStart="1dp"
android:textSize="16sp"
android:text="#string/credits" />
<Button
android:id="#+id/exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="2dp"
android:layout_marginStart="1dp"
android:layout_weight="1"
android:textSize="16sp"
android:text="#string/exit" />
</LinearLayout>
</LinearLayout>
The Code for the MainActivity.java file will be:
package com.example.tara.multiplicationtable;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText num;
Button credits;
Button calculate;
Button clear;
Button exit;
TextView printArea;
//private static final String result = MainActivity.class.getSimpleName();
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
num = new EditText(this);
clear = new Button(this);
calculate = new Button(this);
credits = new Button(this);
calculate = new Button(this);
printArea = new TextView(this);
num = (EditText) findViewById(R.id.num);
credits = (Button) findViewById(R.id.credits);
clear = (Button) findViewById(R.id.clear);
exit = (Button) findViewById(R.id.exit);
calculate = (Button) findViewById(R.id.calculate);
printArea = (TextView) findViewById(R.id.printArea);
calculate.setOnClickListener(new View.OnClickListener() {
// Perform action on Get Table Button click
public void onClick(View v) {
if (num.getText().length() == 0 ){
printArea.setText(R.string.err_msg);
}
else {
//change the integer value into string
printArea.setText("");
int num1 = Integer.parseInt(num.getText().toString());
String result;
for (int i = 1; i <= 10; i++) {
result = (num1 + " X " + i + " = " + i * num1);
printArea.append("\n" + result);
}
}
}
});
clear.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
num.setText("");
printArea.setText("");
}
});
credits.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, Credits.class));
}
});
exit.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Good Bye, User!", Toast.LENGTH_SHORT).show();
finish();
}
});
}
}
Thank you everyone for the guidance.
This is my code below
1) This is Class with getter and setter methods + extension of base adapter
package virtual.mall;
import java.util.List;
import virtual.mall.Salt_page_ada.saltlist_holder;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.TextView;
class Order1_cls {
String o1_it_name,o1_it_count;
int o1_it_cost,o1_it_qty;
Boolean o1isselect=false;
public Order1_cls(String o1_it_name,String o1_it_count,int o1_it_qty,int o1_it_cost){
super();
this.o1_it_name = o1_it_name;
this.o1_it_count=o1_it_count;
this.o1_it_qty=o1_it_qty;
this.o1_it_cost = o1_it_cost;
this.o1isselect=o1isselect;
}
public String getO1_it_name() {
return o1_it_name;
}
public void setO1_it_name(String o1_it_name) {
this.o1_it_name = o1_it_name;
}
public String getO1_it_count() {
return o1_it_count;
}
public void setO1_it_count(String o1_it_count) {
this.o1_it_count = o1_it_count;
}
public int getO1_it_cost() {
return o1_it_cost;
}
public void setO1_it_cost(int o1_it_cost) {
this.o1_it_cost = o1_it_cost;
}
public int getO1_it_qty() {
return o1_it_qty;
}
public void setO1_it_qty(int o1_it_qty) {
this.o1_it_qty = o1_it_qty;
}
public Boolean getO1isselect() {
return o1isselect;
}
public void setO1isselect(Boolean o1isselect) {
this.o1isselect = o1isselect;
}
}
public class Order1_page extends ArrayAdapter<Order1_cls> {
private List <Order1_cls> order1list;
private Context context;
public Order1_page(List<Order1_cls> order1list, Context context) {
super(context, R.layout.order1listref,order1list);
this.order1list=order1list;
this.context=context;
}
public static class Order1list_holder{
public TextView o1_name;
public TextView o1_count;
public TextView o1_qty;
public TextView o1_cost;
public CheckBox o1chkbx;
}
public View getView(int pos,View con_view,ViewGroup parent){
View v=con_view;
Order1list_holder hold=new Order1list_holder();
if(con_view==null){
LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v=inflater.inflate(R.layout.order1listref,null);
hold.o1_name=(TextView)v.findViewById(R.id.o1_tv_name);
hold.o1_count=(TextView)v.findViewById(R.id.o1_tv_count);
hold.o1_qty=(TextView)v.findViewById(R.id.o1_tv_qty);
hold.o1_cost=(TextView)v.findViewById(R.id.o1_tv_cost);
hold.o1chkbx=(CheckBox)v.findViewById(R.id.o1_cBox);
hold.o1chkbx.setOnCheckedChangeListener((Order1class) context);
}
else{
hold=(Order1list_holder)v.getTag();
}
Order1_cls o1= order1list.get(pos);
//hold.o1_name.setText(o1.getO1_it_name());
hold.o1_count.setText(o1.getO1_it_count());
hold.o1_qty.setText(" "+o1.getO1_it_qty());
hold.o1_cost.setText(" " + o1.getO1_it_cost());
hold.o1chkbx.setChecked(o1.o1isselect);
hold.o1chkbx.setTag(o1);
return v;
}
}
2) This is code for main class extending the activity with handlers
i have written the code for deletion below but it shows an exceptio
import java.util.ArrayList;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.SparseBooleanArray;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.Toast;
public class Order1class extends Activity implements android.widget.CompoundButton.OnCheckedChangeListener {
ListView lv;
ArrayList<Order1_cls> order1list; //class name in ref java file
Order1_page o1adapter; // ref xml name
ArrayList<Integer> positionslist;
ImageButton addc,delbtn;
protected Object posi;
final Context context = this;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.order1pageclass);
positionslist=new ArrayList<Integer>();
lv=(ListView)findViewById(R.id.order1class_listv); //listview id in main layout
disp_ord1list();
}
private void disp_ord1list() {
// TODO Auto-generated method stub
order1list =new ArrayList<Order1_cls>();
order1list.add(new Order1_cls("Rice(basmati)","1kg packet",3,450));
order1list.add(new Order1_cls("Lentils(finegrade)","2kg packet",2,500));
order1list.add(new Order1_cls("Colgate","5kg packet",3,60));
order1list.add(new Order1_cls("cereal","1kg packet",3,60));
order1list.add(new Order1_cls("surfexcel","2kg packet",2,40));
order1list.add(new Order1_cls("vim","200gms Bar",1,25));
order1list.add(new Order1_cls("Flour","5kg packet",1,300));
o1adapter=new Order1_page(order1list,this);
lv.setAdapter(o1adapter);
}
#Override
public void onCheckedChanged(CompoundButton but_view, boolean o1isselected) {
// TODO Auto-generated method stub
int posi=lv.getPositionForView(but_view);
if(posi !=ListView.INVALID_POSITION){
Order1_cls o1=order1list.get(posi);
o1.setO1isselect(o1isselected);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
// set title
alertDialogBuilder.setTitle("remove item ??");
// set dialog message
alertDialogBuilder
.setMessage("Click yes to delete")
.setCancelable(false)
.setPositiveButton("Delete",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
for(int position : positionslist){
order1list.remove(position);
} o1adapter.notifyDataSetChanged();
}
})
.setNegativeButton("add",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
// Toast.makeText(this,"CLICKED ON " + o1.getO1_it_name()+"of count "+ o1.getO1_it_count()+"cost is "+o1.getO1_it_cost(),Toast.LENGTH_SHORT).show();
}
}
3) order1pageclass.xml file for actual page layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="#+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="#58ACFA"
android:orientation="vertical" >
<TextView
android:id="#+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Order-1 27/3/15"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="25dp" />
</LinearLayout>
<ListView
android:id="#+id/order1class_listv"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_above="#+id/lay1"
android:layout_alignParentLeft="true"
android:layout_below="#+id/linearLayout1"
android:background="#FAFAFA" >
</ListView>
<LinearLayout
android:id="#+id/lay1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:background="#58ACFA"
android:orientation="horizontal" >
<ImageButton
android:id="#+id/imageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#drawable/menu_btn"
android:background="#58ACFA" />
<ImageButton
android:id="#+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.65"
android:src="#drawable/home_btn"
android:background="#58ACFA"
/>
<ImageButton
android:id="#+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#drawable/cart_btn"
android:background="#58ACFA" />
</LinearLayout>
</RelativeLayout>
4) reference page layout (how each row should look or what it must have )
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="#+id/o1_tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_margin="5dp"
android:text="Rice(Basmati)"
android:textAppearance="?android:attr/textAppearanceLarge" />
<CheckBox
android:id="#+id/o1_cBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_margin="5dp"
android:layout_marginRight="36dp"
android:text="+ Cart" />
<TextView
android:id="#+id/o1_tv_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="#+id/o1_tv_name"
android:layout_below="#+id/o1_tv_name"
android:layout_margin="5dp"
android:text="5kg Pack"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="20dp" />
<TextView
android:id="#+id/o1_tv_qty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="#+id/o1_tv_count"
android:layout_alignBottom="#+id/o1_tv_count"
android:layout_margin="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="28dp"
android:layout_toLeftOf="#+id/o1_cBox"
android:text="3"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="20dp" />
<TextView
android:id="#+id/tvqty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="#+id/o1_tv_qty"
android:layout_alignBottom="#+id/o1_tv_qty"
android:layout_margin="5dp"
android:layout_marginLeft="10dp"
android:layout_toRightOf="#+id/o1_tv_name"
android:text="Qty :"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="20dp" />
<TextView
android:id="#+id/o1_tv_cost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="#+id/o1_tv_qty"
android:layout_alignBottom="#+id/o1_tv_qty"
android:layout_alignRight="#+id/o1_cBox"
android:layout_margin="5dp"
android:text="450 "
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="20dp" />
</RelativeLayout>
In your onCheckedChanged() method save the positions in a list. and when button is clicked iterate through the list and delete them from the adapter list.
I'm making an android app that is supposed to send values of three
seekbars through bluetooth but I don't know how to programmatically connect it
to a paired bluetooth device by clicking on its name on the list that shows the paired devices
Any help would be much appreciated.
MainActivity.java
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Set;
import java.util.UUID;
public class MainActivity extends ActionBarActivity {
private BluetoothAdapter btadapter;
private Set<BluetoothDevice> pairedDevices;
private SeekBar redcontrol = null;
private SeekBar greencontrol = null;
private SeekBar bluecontrol = null;
private TextView redv;
private TextView greenv;
private TextView bluev;
private ListView lv;
public static String EXTRA_DEVICE_ADDRESS = "device_address";
LinearLayout linearLayout;
Button on, off, button;
private static final UUID MY_UUID =
UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
// Insert bluetooth devices MAC address
private static String address = "00:14:02:13:08:21";
private BluetoothChatService mChatService = null;
#Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_CANCELED) {
finish();
System.exit(10);
}
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btadapter = (BluetoothAdapter.getDefaultAdapter());
button = (Button)findViewById(R.id.button);
lv = (ListView)findViewById(R.id.listView1);
btadapter = BluetoothAdapter.getDefaultAdapter();
button = (Button) findViewById(R.id.button);
redv = (TextView) findViewById(R.id.redv);
greenv = (TextView) findViewById(R.id.greenv);
bluev = (TextView) findViewById(R.id.bluev);
redcontrol = (SeekBar) findViewById(R.id.seekBar);
greencontrol = (SeekBar) findViewById(R.id.seekBar2);
bluecontrol = (SeekBar) findViewById(R.id.seekBar3);
redcontrol.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progressChanged = 0;
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progressChanged = progress;
redv.setText(String.valueOf(progress));
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar) {
//Toast.makeText(MainActivity.this, "seek bar progress:" + progressChanged,
// Toast.LENGTH_SHORT).show();
}
});
greencontrol.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progressChanged = 0;
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progressChanged = progress;
greenv.setText(String.valueOf(progress));
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar) {
// Toast.makeText(MainActivity.this, "seek bar progress:" + progressChanged,
//Toast.LENGTH_SHORT).show();
}
});
bluecontrol.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progressChanged = 0;
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progressChanged = progress;
bluev.setText(String.valueOf(progress));
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar) {
//Toast.makeText(MainActivity.this, "seek bar progress:" + progressChanged,
// Toast.LENGTH_SHORT).show();
}
});
linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
on = (Button) findViewById(R.id.on);
off = (Button) findViewById(R.id.off);
on.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
on.setBackgroundColor(Color.parseColor("#57D3E8"));
off.setBackgroundColor(Color.parseColor("#EAEAEA"));
if (!btadapter.isEnabled()) {
Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(turnOn, 0);
Toast.makeText(getApplicationContext(), "Bluetooth Turning On"
, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Already On",
Toast.LENGTH_SHORT).show();
}
}
});
off.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
off.setBackgroundColor(Color.parseColor("#57D3E8"));
on.setBackgroundColor(Color.parseColor("#EAEAEA"));
if (btadapter.isEnabled()) {
btadapter.disable();
Toast.makeText(getApplicationContext(), "Bluetooth Off"
, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Already Off",
Toast.LENGTH_SHORT).show();
}
}
});
}
public void list(View view){
pairedDevices = btadapter.getBondedDevices();
ArrayList list = new ArrayList();
for(BluetoothDevice bt : pairedDevices)
list.add(bt.getName() +"\n" + bt.getAddress() );
Toast.makeText(getApplicationContext(),"Showing Paired Devices",
Toast.LENGTH_SHORT).show();
final ArrayAdapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1, list);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
#Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String item = ((TextView) view).getText().toString();
Toast.makeText(getBaseContext(), item, Toast.LENGTH_SHORT).show();
for (BluetoothDevice device : pairedDevices) {
if ("00:14:02:13:08:21".equals(device.getAddress())) {
Toast.makeText(getBaseContext(), "That's the right one ", Toast.LENGTH_SHORT).show();
break;
}
}
view.setEnabled(false);
}
});
}
#Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="460dp"
android:layout_marginTop="0dp"
android:id="#+id/id"
android:paddingLeft="#dimen/activity_horizontal_margin"
android:paddingRight="#dimen/activity_horizontal_margin"
android:paddingTop="#dimen/activity_vertical_margin"
android:paddingBottom="#dimen/activity_vertical_margin"
tools:context="com.arduinolight.app.MainActivity"
android:background="#9DC42C"
>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="750dp"
android:id="#+id/scrollView"
android:layout_below="#+id/linearLayout"
android:layout_marginTop="-30dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
>
<RelativeLayout
android:layout_width="310dp"
android:layout_height="800dp"
android:orientation="vertical"
android:layout_marginTop="20dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true">
<Button
android:layout_width="200dp"
android:layout_height="50dp"
android:text="Paired Devices"
android:onClick="list"
android:layout_marginLeft="50dp"
android:layout_marginTop="320dp"
android:id="#+id/button" />
<SeekBar
android:layout_width="170dp"
android:layout_height="wrap_content"
android:id="#+id/seekBar"
android:indeterminate="false"
android:max="255"
android:progress="0"
android:layout_above="#+id/seekBar2"
android:layout_alignLeft="#+id/seekBar2"
android:layout_alignStart="#+id/seekBar2"
android:layout_marginBottom="26dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="RED Light"
android:id="#+id/redlight"
android:textColor="#59126F"
android:textIsSelectable="false"
android:textStyle="bold"
android:textSize="16sp"
android:typeface="monospace"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="165dp" />
<SeekBar
android:layout_width="170dp"
android:layout_height="wrap_content"
android:id="#+id/seekBar2"
android:indeterminate="false"
android:max="255"
android:progress="0"
android:layout_alignTop="#+id/greenlight"
android:layout_toRightOf="#+id/bluetooth"
android:layout_marginTop="-5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="GREEN Light"
android:id="#+id/greenlight"
android:textColor="#59126F"
android:textIsSelectable="false"
android:textStyle="bold"
android:textSize="16sp"
android:typeface="monospace"
android:layout_alignBottom="#+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="134dp" />
<SeekBar
android:layout_width="170dp"
android:layout_height="wrap_content"
android:id="#+id/seekBar3"
android:indeterminate="false"
android:max="255"
android:progress="0"
android:layout_alignTop="#+id/bluelight"
android:layout_toRightOf="#+id/greenlight"
android:layout_marginTop="-5dp"
android:layout_marginLeft="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="BLUE Light"
android:id="#+id/bluelight"
android:textColor="#59126F"
android:textIsSelectable="false"
android:textStyle="bold"
android:textSize="16sp"
android:typeface="monospace"
android:layout_below="#+id/seekBar2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="23dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Red :"
android:id="#+id/red"
android:singleLine="false"
android:textColor="#F51E3E"
android:layout_marginTop="28dp"
android:layout_below="#+id/on"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Green :"
android:id="#+id/green"
android:textColor="#59126F"
android:layout_alignTop="#+id/red"
android:layout_toRightOf="#+id/redlight" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text=" 0"
android:id="#+id/redv"
android:textColor="#F51E3E"
android:layout_alignTop="#+id/red"
android:layout_toRightOf="#+id/red"
android:layout_marginLeft="2dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text=" 0"
android:id="#+id/greenv"
android:textColor="#04670F"
android:layout_alignTop="#+id/green"
android:layout_toRightOf="#+id/green" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Blue :"
android:id="#+id/blue"
android:textColor="#292EFF"
android:layout_alignTop="#+id/greenv"
android:layout_marginLeft="205dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text=" 0"
android:id="#+id/bluev"
android:textColor="#1850C6"
android:layout_alignTop="#+id/blue"
android:layout_marginLeft="250dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Bluetooth :"
android:textColor="#59126F"
android:textSize="24sp"
android:id="#+id/bluetooth"
android:layout_alignParentTop="false"
android:layout_alignStart="#+id/red"
android:layout_marginTop="40dp" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="70sp"
android:layout_height="40sp"
android:text="ON"
android:textSize="20sp"
android:id="#+id/on"
android:longClickable="false"
android:textColor="#000000"
android:layout_alignTop="#+id/bluetooth"
android:layout_toRightOf="#+id/bluetooth"
android:layout_marginLeft="7dp"
android:layout_marginTop="-7dp"
android:background="#EAEAEA" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="70dp"
android:layout_height="40sp"
android:text="OFF"
android:textSize="20sp"
android:id="#+id/off"
android:clickable="true"
android:textColor="#000"
android:layout_alignTop="#+id/on"
android:layout_alignLeft="#+id/blue"
android:layout_alignStart="#+id/blue"
android:layout_marginLeft="-5dp"
android:layout_marginTop="0dp"
android:background="#EAEAEA" />
<ListView
android:id="#+id/listView1"
android:layout_width="wrap_content"
android:layout_height="150dp"
android:cacheColorHint="#00000000"
android:visibility="visible"
android:layout_below="#+id/button"
android:layout_marginTop="30dp">
</ListView>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.arduinolightning.app"
>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="Arduino Lighting"
android:theme="#style/AppTheme" >
<activity
android:name="com.arduinolightning.app.MainActivity"
android:label="Arduino Lighting" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>