2016-06-15 14 views
1

私は解決することが不可能な私には少し問題があります。私はRadek_Xと呼ばれるTableRowsをたくさん持っていて、彼らはandroid:visibility="gone". になるように設定されています。あなたが初めての場合は、ボタンをクリックしてください(そのプロセスのボタンは1つだけです)。クリックするとRadek_1がandroid:visibility="visible"に変わります2回目のボタンは、Radek_2が消えてから可視に変わりますが、Radek_1はまだ見えます。他のすべてのTableRowsでも同様です。私は本当に必死です。私はどんな助けにも非常に感謝しています!良い一日を!Android:クリックして徐々に視界の変更

int[] views = new int[]{R.id.Radek_2,R.id.Radek_3,R.id.Radek_4};//... 
int counter = 0; 
public void PridejDalsiStaniceniClicked(View v) 
{ 
    findViewById(views[counter]).setVisibility(View.VISIBLE); 
    if(counter<views.length){ 
     counter++; 
    } 
} 

何:ここ

は私のjavaファイルには、それは私はあなたがこれにPridejDalsiStaniceniClickedにXMLで設定していると仮定している、あなたのonClick方法を変更する、実際にあなたが考えているよりも簡単です

package jansoldat.formular100; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.TableRow; 

import java.util.ArrayList; 

public class MainActivity extends AppCompatActivity { 

    Button buttonPridejStaniceni; 
    TableRow Radek_2, Radek_3, Radek_4,Radek_5,Radek_6; 

    @Override 
    private ArrayList<String> arrayList; 
    private ArrayAdapter<String> adapter; 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     buttonPridejStaniceni = (Button) findViewById(R.id.buttonPridejStaniceni); 
     Radek_2 = (TableRow) findViewById(R.id.Radek_2); 
     Radek_3 = (TableRow) findViewById(R.id.Radek_3); 
     Radek_4 = (TableRow) findViewById(R.id.Radek_4); 
     Radek_5 = (TableRow) findViewById(R.id.Radek_5); 
     Radek_6 = (TableRow) findViewById(R.id.Radek_6); 

    } 

    public void PridejDalsiStaniceniClicked(View v) 
    { 
     Radek_2.setVisibility(View.VISIBLE); 
     Radek_3.setVisibility(View.VISIBLE); 
     Radek_3.setVisibility(View.VISIBLE); 
     Radek_4.setVisibility(View.VISIBLE); 
     Radek_5.setVisibility(View.VISIBLE); 
     Radek_6.setVisibility(View.VISIBLE); 
    } 
} 


` 

答えて

1

です配列内にまだビューがある間に押された時間のカウンターに一致するビューを取得するということです。 一部の人々は、ビューIDが整数であり、例のように配列に格納できることを認識していません。

+0

本当にありがとうございました!しかし、私は2番目の質問をすることはできますか?すべてのtablerowsを使い果たした後にそのアプリケーションを修正する方法?私はそれが明らかにばかげた質問だと知っていますが、私はAndroidプログラミングの新機能です。 –

+0

ビューのidが正しい場合は失敗してはならず、例外を防ぐためif文がある –

関連する問題