プログラミングに慣れていないので、コードに援助が必要です。テキストビューで文字列を表示しようとしていますいくつかのボタンを使って。 一般的な考え方は、ボタン「次へ」を押すと文字列配列の次の文字列が表示され、「前の」ボタンを押すと文字列配列の前の文字列が表示されます。文字列配列から文字列を取得し、ボタン(アンドロイド)を使用してTexttViewに1つずつ表示する方法
(コードとの私の経験は、これまでのところ、C/C++のみであるので、私はJavaのコードを使用していないよので、私のコードは本当に台無しにされている場合、私は本当にごめんなさい)
これはアクティビティです。
public class MainActivity extends AppCompatActivity {
int question_number = 0;
String[] mTestArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sample);
mTestArray = getResources().getStringArray(R.array.questions_array);
}
protected void nextQuestion()
{
int maxIndex = mTestArray.length;
if(question_number == maxIndex) showResult();
else
{
question_number++;
updateTextView(question_number);
}
}
protected void previousQuestion()
{
int minIndex = 0;
Button btnPrevious = (Button) findViewById(R.id.btnPrevious);
if (question_number == minIndex) btnPrevious.setEnabled(false);
else
{
question_number--;
updateTextView(question_number);
}
}
private void updateTextView(int i) {
TextView textView = (TextView)findViewById(R.id.txtQuestion);
textView.setText(mTestArray[i]);
}
private void showResult()
{
//show result
}
}
機能nextQuestionが 機能previousQuestionが「question_array」文字列配列内の前の文字列を表示する文字列配列「questions_array」の次の文字列を表示する と機能updateTextViewはTextViewに「txtQuestion」
内の文字列を変更するものですこれはXMLファイルです:
<RelativeLayout 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"
tools:context=".MainActivity" >
<TextView
android:textAppearance="?android:textAppearanceLarge"
android:textColor="@color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btnNext"
android:layout_centerHorizontal="true"
android:layout_marginBottom="78dp"
android:id="@+id/txtQuestion"
/>
<Button
android:text="Previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnPrevious"
android:onClick="previousQuestion"
android:layout_below="@+id/txtQuestion"
android:layout_toLeftOf="@+id/btnNext"
android:layout_toStartOf="@+id/btnNext"
android:layout_marginRight="62dp"
android:layout_marginEnd="62dp" />
<Button
android:text="Next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="176dp"
android:id="@+id/btnNext"
android:onClick="nextQuestion"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="71dp"
android:layout_marginEnd="71dp" />
</RelativeLayout>
、これは文字列配列含まstring.xmlを次のとおりです。私は、アプリケーションを実行しようとしていると、それはエラーなしで実行さ
<resources>
<string name="app_name">My Application</string>
<string-array name="questions_array">
<item>Question 1</item>
<item>Question 2</item>
<item>Question 3</item>
<item>Question 4</item>
<item>Question 5</item>
<item>Question 6</item>
<item>Question 7</item>
<item>Question 8</item>
<item>Question 9</item>
<item>Question 10</item>
</string-array>
</resources>
を。以下のために前に残念ながら、私のアプリケーションが私の悪い英語のための
申し訳ありませんが停止している
、そして感謝:しかし、私はボタンをクリックしようとした時はいつでも、アプリが自動的に閉じられます。このメッセージウィンドウポップ助けて!
ヒント:カウンタを定義し、everyOnClickがその値をincreseと –
question_numberは常に0であるそのインデックスに配列から要素を取得します!あなたはあなたのカウンターから何も加えたり引いたりしません – gmetax
申し訳ありません私は間違ったJavaコードをアクティビティに置いていますが、すべてのonClickを増やすカウンターを使ってみましたが、それでも動作しませんでした – Kenly