Работа со строками
Добавлено: 31 мар 2012, 21:15
Пытаюсь сделать такую программу, в EditText вводим строку. По нажатию на button1 необходимо разобрать строку на слова.
вот код
Код файла R.
main.xml
Но выбивает ошибку и не хочет считать. Говорит, мол массив Arr пустой. Хотя в коде я его заполняю.
вот код
Код: Выделить всё
package ua.m.develop;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener{
/** Called when the activity is first created. */
Button btnFind;
EditText Ed;
Editable str;
class Strings{
String str;
}
Strings[] Arr=new Strings[10];
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnFind = (Button)findViewById(R.id.button1);
Ed = (EditText)findViewById(R.id.editText1);
btnFind.setOnClickListener(this);
}
public void onClick(View v){
try
{
// по id определеяем кнопку, вызвавшую этот обработчик
switch (v.getId())
{
case R.id.button1:
{
String source = Ed.getText().toString();
int p=-1;
int i=0,j;
StringBuffer buf = new StringBuffer(source);
while((p=buf.toString().indexOf("w"))>=0)
{
Arr[i].str=buf.substring(0,p) ;
buf.delete(0, p);
i++;
}
for(j=0;j<Arr.length;j++)
{
btnFind.setText(btnFind.getText().toString()+" "+Arr[j].str);
}
break;
}
}
}
catch(Exception e)
{
btnFind.setText("Ошибка :"+e.getMessage());
}
}
}
Код: Выделить всё
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package ua.m.develop;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class id {
public static final int button1=0x7f050001;
public static final int editText1=0x7f050000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Введите запрос :" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText
<Button
android:id="@+id/button1"
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="Найти!" >
</Button>
</LinearLayout>